/ / स्पार्क-कैसंड्रा कनेक्टर का उपयोग कर स्पार्क ऐप चलाने में त्रुटि - कैसंड्रा, अपाचे-स्पार्क, स्पार्क-कैसंड्रा-कनेक्टर

स्पार्क-कैसंड्रा कनेक्टर का उपयोग कर स्पार्क ऐप चलाने में त्रुटि - कैसंड्रा, अपाचे-स्पार्क, स्पार्क-कैसंड्रा-कनेक्टर

मैंने एक मूल स्पार्क ऐप लिखा है जो इस गाइड के बाद कैसंद्रा को पढ़ता है और लिखता है (https://github.com/datastax/spark-cassandra-connector/blob/master/doc/0_quick_start.md)

इस ऐप के लिए एसएसबीटी इस तरह दिखता है:

name := "test Project"

version := "1.0"

scalaVersion := "2.10.5"

libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "1.2.1",
"com.google.guava" % "guava" % "14.0.1",
"com.datastax.spark" %% "spark-cassandra-connector" % "1.2.1",
"org.apache.cassandra" % "cassandra-thrift" % "2.0.14",
"org.apache.cassandra" % "cassandra-clientutil" % "2.0.14",
"com.datastax.cassandra" % "cassandra-driver-core"  % "2.0.14"
)

जैसा कि आप स्पार्क संस्करण देख सकते हैं 1.2.1 (और 1.3.1 बहुत सारे प्रश्नों की तरह नहीं) लेकिन जब मैं स्पार्क-सबमिट का उपयोग करके इस ऐप को चलाता हूं तो भी मैं त्रुटि में चला जाता हूं:

WARN TaskSetManager: Lost task 1.0 in stage 0.0 (TID 1, abcdev26): java.lang.NoSuchMethodError: org.apache.spark.executor.TaskMetrics.inputMetrics_$eq(Lscala/Option;)V
at com.datastax.spark.connector.metrics.InputMetricsUpdater$.apply(InputMetricsUpdater.scala:61)
at com.datastax.spark.connector.rdd.CassandraTableScanRDD.compute(CassandraTableScanRDD.scala:196)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:277)
at org.apache.spark.rdd.RDD.iterator(RDD.scala:244)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:61)
at org.apache.spark.scheduler.Task.run(Task.scala:64)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:203)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)

मैं क्या खो रहा हूँ? मैंने जो जवाब दिया है, मैंने अभी तक 1.2.1 का उपयोग करने का सुझाव दिया है जो मैं पहले से कर रहा हूं।

किसी भी सुझाव को सराहा जाएगा!

उत्तर:

उत्तर № 1 के लिए 1

क्या आप 100% सुनिश्चित हैं कि आप स्पार्क 1.2.1 के खिलाफ चल रहे हैं? अधिकारियों पर भी?

समस्या यह है कि यह मेट्रिक एक्सेसर स्पार्क 1.3.0 में निजी हो गया और इसलिए रनटाइम पर नहीं पाया जा सकता है। देख TaskMetrics.scala - स्पार्क 1.2.2 बनाम TaskMetrics.scala - स्पार्क v1.3.0, तो शायद कहीं भी स्पार्क 1.3.एक्स संस्करण कहीं भी है।

सुनिश्चित करें कि एक ही संस्करण 1.2.x सभी निष्पादकों पर भी है।