在我的Spark作业中,我从资源文件中读取了一些其他数据。
某些示例Resources.getResource("/more-data")
它在本地运行良好,当我从spark-submit master = local [*]运行时 我只需要添加--conf = spark.driver.extraClassPath = moredata。
移动到群集模式(纱线)后,它不再能够找到该文件夹。
我在没有帮助的情况下尝试了spark.yarn.dist.files,也许我需要添加一些内容?
答案 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的形式访问