spark应用程序中的本地文件上传失败

时间:2019-02-15 12:55:39

标签: apache-spark

在我的代码中,我试图将本地计算机中的文件加载到spark应用程序中, sc.textFile(“ file:/// home / testpath / file1”)。

当我在命令行上提交作业时

场景1:spark提交--class…本地主

工作顺利完成,没有任何问题。

方案2:火花提交--class…。 -主纱线-部署模式群集

作业失败,抛出file:/// home / testpath / file1文件未找到异常。

但是当我测试file1时...。文件存在于本地。

场景3:spark提交-class…-master yarn-部署模式客户端

作业失败,抛出file:/// home / testpath / file1文件未找到异常。

但是当我测试file1时,文件存在于本地。

方案4:spark-shell —master = yarn

Val file1 = sc.textFile(“ file:/// home / testpath / file1”)。

作业失败,抛出file:/// home / testpath / file1文件未找到异常。

在core-site.xml中,将fs.default.name属性设置为hdfs:// mynamenode:9000

请帮助我如何在spark应用程序中加载本地文件(使用spark 2.X版本)

有什么想法吗?预先感谢。

1 个答案:

答案 0 :(得分:0)

当Spark执行模式为本地时,Spark执行程序作业安排在同一本地节点上,因此可以找到该文件。但是,在纱线模式下,执行程序作业会在任何群集节点上随机安排。因此,您可以将文件移至HDFS或在每个节点上维护此文件的副本