【发布时间】:2019-10-27 00:05:13
【问题描述】:
我使用的是 spark 1.6.0。我想使用 --files 标签上传文件并在初始化 spark 上下文后读取文件内容。
我的 spark-submit 命令语法如下所示:
spark-submit \
--deploy-mode yarn-cluster \
--files /home/user/test.csv \
/home/user/spark-test-0.1-SNAPSHOT.jar
我阅读了 Spark 文档,它建议我使用 SparkFiles.get("test.csv") 但这在 yarn-cluster 模式下不起作用。 如果我将部署模式更改为 local,代码可以正常工作,但在 yarn-cluster 模式下会出现文件未找到异常。
我可以在日志中看到我的文件已上传到 hdfs://host:port/user/guest/.sparkStaging/application_1452310382039_0019/test.csv 目录并且 SparkFiles.get 正在尝试在 /tmp/test.csv 中查找不正确的文件。如果有人成功使用了这个,请帮我解决这个问题。
【问题讨论】:
-
这个问题有一个针对 yarn-client 模式的原生答案。我已更新问题并将模式更改为 yarn-cluster。
标签: scala apache-spark