【发布时间】:2017-02-22 05:49:08
【问题描述】:
我有一个不可序列化的对象,我需要该对象一直 100% 缓存在内存中。然而,由于负载增加,火花作业需要更多的执行内存,它会尝试将缓存的对象驱逐到磁盘中,并且由于对象不可序列化,我将得到“任务不可序列化”异常。是否有强制 spark 将我的对象一直保存在缓存中的方法?
【问题讨论】:
标签: caching apache-spark serialization
我有一个不可序列化的对象,我需要该对象一直 100% 缓存在内存中。然而,由于负载增加,火花作业需要更多的执行内存,它会尝试将缓存的对象驱逐到磁盘中,并且由于对象不可序列化,我将得到“任务不可序列化”异常。是否有强制 spark 将我的对象一直保存在缓存中的方法?
【问题讨论】:
标签: caching apache-spark serialization
这不是正确的方向。即使它被缓存,它也可能需要在远程节点尝试获取它时进行序列化。如果你只是想一直在执行器端缓存它,你可以使用 Scala 中的伴生对象或 Java 中的单例模式来懒惰地将它们创建为静态对象。
【讨论】: