sbt package
chạy tốt, nhưng sau khi spark-submit
tôi nhận được lỗi:Apache Spark: java.lang.NoSuchMethodError .rddToPairRDDFunctions
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.spark.SparkContext$.rddToPairRDDFunctions(Lorg/apache/spark/rdd/RDD;Lscala/reflect/ClassTag;Lscala/reflect/ClassTag;Lscala/math/Ordering;)Lorg/apache/spark/rdd/PairRDDFunctions; at SmokeStack$.main(SmokeStack.scala:46) at SmokeStack.main(SmokeStack.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.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:736) at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:185) at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:210) at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:124) at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Đây là dòng vi phạm:
val sigCounts = rowData.map(row => (row("Signature"), 1)).countByKey()
rowData
là một RDD Bản đồ [String, String]. Khóa "Chữ ký" tồn tại trong tất cả các mục trong bản đồ.
Tôi nghi ngờ đây có thể là sự cố xây dựng. Bên dưới là tệp sbt của tôi:
name := "Example1"
version := "0.1"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.2.0"
scalacOptions ++= Seq("-feature")
Tôi mới làm quen với Scala vì vậy có thể nhập không chính xác? Tôi có:
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import scala.io.Source
biên dịch và thời gian chạy của bạn phiên bản của tia lửa không khớp. – maasg
Đó là phiên bản Spark khá cũ. Hãy thử sử dụng một chút mới hơn. Và như đã đề cập ở trên - thời gian chạy và biên dịch các phiên bản tia lửa của bạn không khớp. – JiriS
@maasg Tôi đã thay đổi các phiên bản Spark biên dịch và thời gian chạy để khớp và mọi thứ hoạt động. Bạn có thể đặt câu trả lời này làm câu trả lời để tôi có thể chấp nhận nó không? – BlackSheep