当我的spark应用程序的超级jar和我的spark-submit shell命令的--jars选项的内容包含类似的依赖项时,类加载的优先级是什么?
我从第三方库集成的角度问这个问题.如果我将--jars设置为在版本2.0中使用第三方库并且使用版本2.1组装进入此spark-submit脚本的超级jar,那么在运行时加载哪个类?
目前,我想保留我对hdfs的依赖关系,并将它们添加到spark-submit上的--jars选项中,同时希望通过一些最终用户文档要求用户将此第三方库的范围设置为'在他们的火花应用程序的maven pom文件中提供.
Hol*_*den 10
这在某种程度上由params控制:
spark.driver.userClassPathFirst &spark.executor.userClassPathFirst如果设置为true(default为false),则从docs:
(实验)在驱动程序中加载类时,是否优先使用用户添加的jar优先于Spark自己的jar.此功能可用于缓解Spark的依赖项和用户依赖项之间的冲突.它目前是一个实验性功能.这仅在群集模式下使用.
我写了一些控制它的代码,早期版本中有一些bug,但是如果你使用的是最近的Spark版本它应该可以工作(虽然它仍然是一个实验性功能).
| 归档时间: |
|
| 查看次数: |
6975 次 |
| 最近记录: |