부족, 나는 다음과 같은 오류가 발생합니다 :스파크 2.0.0 스트리밍 작업은 스칼라 실행 방법
build.sbt
"org.apache.spark" %% "spark-core" % "2.0.0" % "provided",
"org.apache.spark" %% "spark-streaming" % "2.0.0" % "provided"
에
spark-2-streaming-nosuchmethod-arrowassoc
만 제공 종속성을 퍼팅 :
Exception in thread "main" org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 72.0 failed 1 times, most recent failure: Lost task 0.0 in stage 72.0 (TID 37, localhost): java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Object;
은 내가 GitHub의의의 repo에이 현상에 대한 간단한 그림을 넣어
드라이버 코드에 ->
을 사용하여 sbt-assembly
으로 패키징하고 작업을 제출하면 오류가 발생합니다. 이것은 큰 문제는 아니며 ArrayAssoc
을 사용하면 피할 수 있지만 spark-streaming-kafka-0-8_2.11
v2.0.0은 어딘가에 있으며 동일한 오류가 발생합니다.
과 같이 그 일을 그런 다음
sbt assembly
그런 다음
spark-2.0.0-bin-hadoop2.7/bin/spark-submit \
--class org.apache.spark.examples.streaming.NetworkWordCount \
--master local[2] \
--deploy-mode client \
./target/scala-2.11/spark-2-streaming-nosuchmethod-arrowassoc-assembly-1.0.jar \
localhost 5555
uber JAR에 스칼라를 포함합니까? –
그래, sbt - 어셈블리는 기본적으로 스칼라 런타임을 포함합니다. 그러나 확실히하기 위해, 나는 또한 그것을 명시 적으로 요구했다. – Utgarda