在oozie作业的运行时出现以下错误,我们从1.7迁移java jdk 1.8并且编译成功。
Caused by: java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Object;
at com.twitter.scalding.RichXHandler$.<init>(XHandler.scala:38)
at com.twitter.scalding.RichXHandler$.<clinit>(XHandler.scala)
at com.twitter.scalding.Tool$.main(Tool.scala:152)
at com.twitter.scalding.Tool.main(Tool.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.oozie.action.hadoop.JavaMain.run(JavaMain.java:56)
答案 0 :(得分:0)
我有同样的问题。我的集群使用Scala 2.10时使用2.11。您必须使用与运行的环境/群集相同的scala版本。如果运行spark-shell,则可以看到使用了哪个scala版本。
> spark-shell
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 1.6.3
/_/
Using Scala version **2.10.5** (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_40)