spark-submit使用的jar的两个不同版本

时间:2017-05-16 08:48:26

标签: java scala apache-spark jar

我在Ambari上使用spark-submit,我需要运行一些使用不同版本的jar的代码而不是spark-submit已经需要的代码。

我有一个使用com.fasterxml.jackson。*的代码示例,其版本为> 2.7和Spark 2.1在使用2.6.5版本进行初始化时使用它的一个版本

我尝试了什么:

  • sbt assembly to a fat a jar
  • 将jar的两个不同版本放在spark jars目录中
  • 把> build.sbt中的2.7版本

但没有任何工作,每次Spark初始化2.6.5版本,所以我的代码无法运行。如果我删除此版本并将> 2.7,然后Spark无法初始化

所以当我在我的文件中执行导入时,我想知道是否可以指定库的版本.scala?或者还有另一种方法吗?

感谢您的时间

编辑:

我在我的代码中导入了这个库: import com.maxmind.geoip2.DatabaseReader

这个库需要一个> 2.7版本的jackson,所以我没有明确导入jackson libray,但DataBaseReader的源代码需要jackson库

EDIT2:

根据我对错误的理解:

线程“main”中的异常java.lang.NoSuchMethodError:com.fasterxml.jackson.databind.node.ArrayNode。(Lcom / fasterxml / jackson / databind / node / JsonNodeFactory; Ljava / util / List;) V

这是方法错误,它在源代码中找不到方法。所以它似乎真的是一个版本问题。它使用本机spark jar的源代码:jackson.core。* 2.6.5同时我真的需要这个特定的代码示例> 2.7(例如2.8.8)

0 个答案:

没有答案