繁体   English   中英

Spark中的分布式缓存的等价物?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM