我发现我无法在Spark工作中访问我的函数,“sbt包”没有问题,但是当通过spark-submit运行程序时,我得到了:
Exception in thread "main" java.lang.NoSuchMethodError:
scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Object;
at TF$$anonfun$TF1$1$2.apply(tf.scala:23)
该计划非常简单:
import ...
object TF{
def main(args:Array[String]) {
val conf = new SparkConf().setAppName("TF")
val sc=new SparkContext(conf)
def TF1(list: List[String]) = {
...
}
val aaa=List("import", "org", "apache", "spark", "SparkContext")
val tfs=TF1(aaa)
tfs.foreach(println)
}
}
还测试了将TF1功能放在main()之外也不起作用。有关如何在Spark中的main()中访问用户定义函数的任何建议?谢谢!