2017-01-17 1 views
2

Im пытается присоединиться к RDD с Cassandra Таблица с помощью искрового разъема Кассандры:Cassandra разъем Apache Spark: локальный класс несовместим

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 

Я уже проверил банки в главном и подчиненном устройствах, и это похоже на версии sames.

Im используя искру 2.0.0, Cassandra 3.7, Cassandra-Спарк Разъем 2.0.0 M2, Cassandra Драйвер ядра 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-драйвера от ядра 3.0.0 и работайте. - Мануэль Валеро только сейчас редактирует

Смежные вопросы