如何在运行时动态地向spark执行器添加依赖项



我想将存档依赖项添加到我的spark执行器中,其工作方式类似于将存档路径传递给spark-submit时使用--archives选项。但是,直到运行时我才知道需要哪些依赖项,所以我需要在spark作业已经提交之后以编程方式执行此操作。

有办法做到这一点吗?我目前正在研究一个破解的解决方案,我从运行在执行器上的函数中下载所需的存档,但是这比让驱动程序只下载存档一次然后分发给执行器要慢得多。

假设您的资源管理器是YARN,可以设置属性spark.yarn.dist.archives当创建SparkSession时.

SparkSession.builder 
.appName("myappname") 
.conf("spark.yarn.dist.archives", "file1.zip#file1,file2.zip#file2,...") 
.getOrCreate()

更多信息在这里:https://spark.apache.org/docs/latest/running-on-yarn.html

你可以找到属性spark.yarn.dist.filesspark.yarn.dist.jars有用。

相关内容

最新更新