gpt4 book ai didi

apache-spark - 当spark uber jar和spark-submit --jars中存在相似的类时,两者之间的类路径解析

转载 作者:行者123 更新时间:2023-12-03 07:08:44 24 4
gpt4 key购买 nike

当我的 Spark 应用程序的 uber jar 和我的 Spark-submit shell 命令的 --jars 选项的内容包含类似的依赖项时,类加载的优先级是什么?

我是从第三方库集成的角度提出这个问题的。如果我设置 --jars 使用版本 2.0 的第三方库,并且进入此 Spark-submit 脚本的 uber jar 是使用版本 2.1 组装的,则在运行时加载哪个类?

目前,我考虑保留对 hdfs 的依赖,并将它们添加到 Spark-submit 上的 --jars 选项中,同时希望通过一些最终用户文档要求用户设置此第三方库的范围在其 Spark 应用程序的 maven pom 文件中“提供”。

最佳答案

这在某种程度上是通过参数控制的:

  • spark.driver.userClassPathFirst &
  • spark.executor.userClassPathFirst

如果设置为 true(default 为 false),则来自 docs :

(Experimental) Whether to give user-added jars precedence over Spark's own jars when loading classes in the the driver. This feature can be used to mitigate conflicts between Spark's dependencies and user dependencies. It is currently an experimental feature. This is used in cluster mode only.

我编写了一些控制此功能的代码,早期版本中存在一些错误,但如果您使用的是最新的 Spark 版本,它应该可以工作(尽管它仍然是一个实验性功能)。

关于apache-spark - 当spark uber jar和spark-submit --jars中存在相似的类时,两者之间的类路径解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31150656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com