OOZIE Spark操作:Getting No这样的方法有时会出错



我在通过软泥执行spark操作时遇到了这个异常。有时工作运行良好,有时我会遇到此异常。真的很奇怪,不知道为什么会发生。

我在oozie-lib和我的应用程序jar中都检查了spark-jar的版本,它是相同的(没有冲突(

ERROR ApplicationMaster: User class threw exception: java.lang.NoSuchMethodError: 
org.apache.spark.sql.internal.SQLConf$.setSQLConfGetter(Lscala/Function0;)V
java.lang.NoSuchMethodError: 
org.apache.spark.sql.internal.SQLConf$.setSQLConfGetter(Lscala/Function0;)V
at org.apache.spark.sql.SparkSession.<init>(SparkSession.scala:91)
at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:950)

任何可能导致这种行为的建议。

这清楚地表明了jar冲突。我也遇到过同样的问题。

但正如你所说,你已经证实没有冲突。因此,我可以看到一种可能性是依赖冲突

如果不是这样的话,我建议尝试一次性生成一个包含所有依赖项的jar。当您使用包含所有依赖项的jar时,JVM将直接从jar中定位依赖项,因此不会因为不同的库版本而出现任何不匹配。在maven中,您可以使用汇编插件生成一个包含所有依赖项的jar。

最新更新