在Yarn中运行Spark时从资源读取

时间:2019-02-12 14:20:45

标签: apache-spark yarn

在我的Spark作业中,我从资源文件中读取了一些其他数据。

某些示例Resources.getResource("/more-data")

它在本地运行良好,当我从spark-submit master = local [*]运行时 我只需要添加--conf = spark.driver.extraClassPath = moredata。

移动到群集模式(纱线)后,它不再能够找到该文件夹​​。

我在没有帮助的情况下尝试了spark.yarn.dist.files,也许我需要添加一些内容?

1 个答案:

答案 0 :(得分:0)

假设您正在Yarn模式下运行spark应用程序,则more-data文件夹中有一些文件资源。代替分发文件夹,而是分发所有资源。

根据要分配的资源类型,我们有以下选择:

spark.yarn.dist.jars

spark.yarn.dist.jars(默认值:空)是要分发的其他jar的集合。

当客户端使用--jars命令行选项指定用于火花提交时分配其他资源时使用。

spark.yarn.dist.files

spark.yarn.dist.files(默认值:空)是要分发的其他文件的集合。

当客户端使用--files命令行选项指定用于火花提交时分配其他资源时使用。

spark.yarn.dist.archives

spark.yarn.dist.archives(默认值:空)是要分发的其他归档的集合。

当客户端使用--archives命令行选项进行spark-submit分配时,它用于分配其他资源。

您可以从https://jaceklaskowski.gitbooks.io/mastering-apache-spark/yarn/spark-yarn-settings.html

中找到更多信息。

请注意您将如何访问资源。

示例:spark-submit --files / folder-name / fileName

提到的资源应在代码中以fileName的形式访问