Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Caching 确保变量始终缓存在Spark中,并且永远不会被逐出_Caching_Apache Spark_Serialization - Fatal编程技术网

Caching 确保变量始终缓存在Spark中,并且永远不会被逐出

Caching 确保变量始终缓存在Spark中,并且永远不会被逐出,caching,apache-spark,serialization,Caching,Apache Spark,Serialization,我有一个不可序列化的对象,我需要该对象始终100%缓存在内存中。但是,由于负载增加,spark作业需要更多的执行内存,因此它尝试将缓存的对象逐出到磁盘中,并且由于该对象不可序列化,因此我将获得“task not serializable”异常。是否有必要强制spark始终将我的对象保留在缓存中?这不是正确的方向。即使缓存了它,当远程节点尝试获取它时,也可能需要序列化它。若您只想始终将其缓存在执行器端,那个么可以使用Scala中的伴生对象或Java中的单例模式将它们惰性地创建为静态对象

我有一个不可序列化的对象,我需要该对象始终100%缓存在内存中。但是,由于负载增加,spark作业需要更多的执行内存,因此它尝试将缓存的对象逐出到磁盘中,并且由于该对象不可序列化,因此我将获得“task not serializable”异常。是否有必要强制spark始终将我的对象保留在缓存中?

这不是正确的方向。即使缓存了它,当远程节点尝试获取它时,也可能需要序列化它。若您只想始终将其缓存在执行器端,那个么可以使用Scala中的伴生对象或Java中的单例模式将它们惰性地创建为静态对象