我正在使用 ElasticSearch Spark Jar。但由于某种原因,当我启动 SparkContext 时,它也会从
中获取 elastic-hive jar/usr/lib/hive/lib/elasticsearch-hadoop-hive-2.1.0.jar
这导致了两者冲突的 elasticrdd 问题。
有谁知道该 Jar 如何进入 Spark 以及如何在启动上下文之前将其从 Spark 类路径中删除?
谢谢。
最佳答案
事实证明,这是加载该目录的conf/spark-env.sh 中的默认配置。通过加载您想要的 jar 而不是您不想要的 jar 的不同文件夹,可以轻松解决此问题。 所以代替这个:
SPARK_DIST_CLASSPATH="$SPARK_DIST_CLASSPATH:/usr/lib/hive/lib/*"
这会起作用:
SPARK_DIST_CLASSPATH="$SPARK_DIST_CLASSPATH:/usr/lib/hive/lib/spark/*"
假设您将相关 jar 复制到该文件夹中
关于java - 从 Spark 类路径中删除 Jars,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34228750/