Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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
Apache spark 是否为Spark中的每个批处理操作加载和卸载静态文件?_Apache Spark - Fatal编程技术网

Apache spark 是否为Spark中的每个批处理操作加载和卸载静态文件?

Apache spark 是否为Spark中的每个批处理操作加载和卸载静态文件?,apache-spark,Apache Spark,我正在使用Spark对我的数据执行一些操作。 我需要使用辅助字典来帮助我的数据操作 streamData = sc.textFile("path/to/stream") dict = sc.textFile("path/to/static/file") //some logic like: //if(streamData["field"] exists in dict) // do something 我的问题是:dict是一直在内存中,还是每次Spark处理一个批时都需要加载和卸载它 感谢d

我正在使用Spark对我的数据执行一些操作。 我需要使用辅助字典来帮助我的数据操作

streamData = sc.textFile("path/to/stream")
dict = sc.textFile("path/to/static/file")
//some logic like:
//if(streamData["field"] exists in dict)
// do something
我的问题是:dict是一直在内存中,还是每次Spark处理一个批时都需要加载和卸载它


感谢

dict将保留在内存中,除非需要为运行时需要内存的其他对象逐出它。如果以后需要重用它,应该在初始化它之后执行dict.cache()。如果RDD非常大且无法在内存中缓存,则还可以使用.persist(仅限disk_)将其持久化到磁盘。对RDD机制有一个有用的总结