[英]Equivalent of Distributed Cache in Spark?
在Hadoop中,您可以使用分布式缓存来复制每个节点上的只读文件。 在Spark中这样做的等效方法是什么? 我知道广播变量,但这只适用于变量,而不是文件。
看看SparkContext.addFile()
在每个节点上添加要使用此Spark作业下载的文件。 传递的路径可以是本地文件,HDFS(或其他Hadoop支持的文件系统)中的文件,也可以是HTTP,HTTPS或FTP URI。 要在Spark作业中访问该文件,请使用SparkFiles.get(fileName)查找其下载位置。
如果递归选项设置为true,则可以给出目录。 目前,目录仅支持Hadoop支持的文件系统。
如果您的文件是文本文件,生活在HDFS中,那么,您可以使用:
textFile("<hdfs-path>")
“SparkContext”的。
此调用将通过使用该RDD的方法:“ persist()
”为您提供RDD,您可以在节点之间persist()
该RDD。
此方法可以在MEMORY / DISK中保留文件数据(序列化/反序列化)。
参考:
http://spark.apache.org/docs/latest/programming-guide.html#which-storage-level-to-choose
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.