我在主服务器上有一些文本文件要由Spark集群处理,以用于某些统计目的。
例如,我在指定目录(如/data/)中的主服务器上有1.txt,2.txt,3.txt。我希望使用Spark群集来处理所有这些。如果我使用sc.textFile(" / data / * .txt")加载所有文件,则群集中的其他节点无法在本地文件系统上找到这些文件。但是,如果我使用sc.addFile和SparkFiles.get在每个节点上实现它们,则3个文本文件将被下载到每个节点,并且所有这些文件将被多次处理。
如何在没有HDFS的情况下解决它?谢谢。
答案 0 :(得分:0)
根据官方文档,只需将所有文件复制到所有节点。
http://spark.apache.org/docs/1.2.1/programming-guide.html#external-datasets
如果在本地文件系统上使用路径,则还必须可以在工作节点上的相同路径上访问该文件。将文件复制到所有工作者或使用网络安装的共享文件系统。