2017-01-17 33 views
2

我試着加入與卡桑德拉表使用卡桑德拉星火連接器的RDD:卡桑德拉連接器的Apache星火:局部類不兼容

samplerdd.joinWithCassandraTable(keyspace, CassandraParams.table) 
     .on(SomeColumns(t.date as a.date, 
     t.key as a.key) 

它工作在獨立模式,但是當我在集羣模式下執行我得到這個錯誤:

Job aborted due to stage failure: Task 6 in stage 0.0 failed 4 times, most recent failure: Lost task 6.3 in stage 0.0 (TID 20, 10.10.10.51): java.io.InvalidClassException: com.datastax.spark.connector.rdd.CassandraJoinRDD; local class incompatible: stream classdesc serialVersionUID = 6155891939893411978, local class serialVersionUID = 1245204129865863681 

我已經檢查了主人和奴隸的罐子和它似乎相同的版本。

進出口使用火花2.0.0,卡桑德拉3.7,卡桑德拉 - 星火連接器2.0.0 M2, 卡桑德拉驅動核心3.1.0和Scala 2.11.8

什麼可能它是這樣嗎?

+2

你有一個依賴版本不匹配的地方。尋找它。 – maasg

+1

你提到「我已經檢查過主人和奴隸的罐子」。你不應該把罐子放在奴隸身上。請使用'spark-submit --jars '來提交你的工作。請參閱http://spark.apache.org/docs/latest/submitting-applications.html#advanced-dependency-management – maasg

+0

我正在使用.master(「spark:// sparkmaster:7077」)而不是Spark-submit。我用setJars配置罐子。這樣對嗎? –

回答

0

終於解決了。將cassandra-driver-core依賴更新爲3.0.0並且可以工作。 - 曼努埃爾瓦萊羅剛剛編輯

相關問題