1

Я пытаюсь получить значения из Кассандры 2.0.17 таблицы с помощью искрового 1.6.0 и 2.11.7-лестницу со следующими шагамиЗапрос Cassandra таблица через Спарк

  1. работы Кассандры - сервис Cassandra начать
  2. работы spark-- SBIN/start-all.sh
  3. ЗАЯВИЛ искра SCALA - Bin/искру-оболочка --jars искровым CASSANDRA-connector_2.10-1.5.0-M1.jar

выполнял эти команды в scala

import org.apache.spark.SparkContext 
import org.apache.spark.SparkConf 
import org.apache.spark.SparkContext._ 

sc.stop 

val conf = new SparkConf(true).set("spark.cassandra.connection.host","127.0.0.1") 

val sc=new SparkContext("local[2]","test",conf) 

import com.datastax.spark.connector._ 

все работает отлично, пока здесь, но когда я исполняю -

val rdd=sc.cassandraTable("tutorialspoint","emp") 

Это дает мне ошибку ниже

error: bad symbolic reference. A signature in CassandraTableScanRDD.class refers to term driver 
in package com.datastax which is not available. 
It may be completely missing from the current classpath, or the version on 
the classpath might be incompatible with the version used when compiling CassandraTableScanRDD.class. 
error: bad symbolic reference. A signature in CassandraTableScanRDD.class refers to term core 
in value com.datastax.driver which is not available. 
It may be completely missing from the current classpath, or the version on 
the classpath might be incompatible with the version used when compiling CassandraTableScanRDD.class. 
error: bad symbolic reference. A signature in CassandraTableScanRDD.class refers to term core 
in value com.datastax.driver which is not available. 
It may be completely missing from the current classpath, or the version on 
the classpath might be incompatible with the version used when compiling CassandraTableScanRDD.class. 

добавили банки с Кассандрой Lib, чтобы зажечь и refrenced его. мой использование java версия 1.8.0_72

M i отсутствует какой-нибудь предмет?

+0

Эта ссылка может вам помочь - http://stackoverflow.com/questions/34641995/nosuchmethoderror-from-spark-cassandra-connector-with-assembled-jar/34645885#34645885. Не забудьте использовать совместимую версию файлов Jar Cassandra с версией Spark. – Sumit

+0

ОК есть проблема в версии Cassandra, а затем версии jar. нужно отменить все .. –

+0

сейчас я использовал cassandra 2.2.4 spark 1.6.0 scala-2.11.7 и jar spark-cassandra-connector-java_2.11-1.5.0-RC1, и все данные jar u упомянули. он решил эту ошибку, но теперь, когда i println (rdd.first), он дает java.lang.NoSuchMethodError: scala.runtime.ObjectRef.zero() Lscala/runtime/ObjectRef; –

ответ

1

Драйвер, который вы используете, несовместим с вашей версией scala и искры. Вы используете scala-2.11.7, но этот драйвер предназначен для scala 2.10. Также для искры этот драйвер поддерживает искру 1.5.x.

+0

сейчас я использовал cassandra 2.2.4 spark 1.6.0 scala-2.11.7 и jar spark-cassandra-connector-java_2.11-1.5.0-RC1, и все указанные jar u упомянул. он решил эту ошибку, но теперь, когда i println (rdd.first), он дает java.lang.NoSuchMethodError: scala.runtime.ObjectRef.zero() Lscala/runtime/ObjectRef; –

+0

даже используется scala 2.10.5 но все же такая же ошибка –

+0

Spark distro построен с scala 2.10 и включает scala 2.10 в сборку. Таким образом, ваша искровая оболочка сообщила, что она работает на 2.10. Так что строите искру самостоятельно http://spark.apache.org/docs/latest/building-spark.html#building-for-scala-211 или используйте разъем scala_2.10 –