2014-10-06 2 views
5

Я пытаюсь работать с разъемом искры cassandra DataStax. Я создал новый проект SBT в IntelliJ и добавил один класс. Класс и мой sbt-файл приведены ниже. Тем не менее, создание искрового контекста, похоже, работает, когда я раскомментирую строку, где я пытаюсь создать cassandraTable, я получаю следующую ошибку компиляции:Ошибки компиляции с искровым разъемом cassandra и SBT

Ошибка: scalac: bad symbolic reference. Подпись в CassandraRow.class относится к терминальному катализатору в пакете org.apache.spark.sql, который недоступен. Это может быть полностью отсутствует в текущем пути к классам или в версии на путь к классам может быть несовместим с версией, используемой при компиляции CassandraRow.class.

Sbt является новым для меня, и я был бы признателен за любую помощь в понимании того, что означает эта ошибка (и, конечно, как ее разрешить).

name := "cassySpark1" 

version := "1.0" 

scalaVersion := "2.10.4" 

libraryDependencies += "org.apache.spark" % "spark-core_2.10" % "1.1.0" 

libraryDependencies += "com.datastax.spark" % "spark-cassandra-connector" % "1.1.0" withSources() withJavadoc() 

libraryDependencies += "com.datastax.spark" %% "spark-cassandra-connector-java" % "1.1.0-alpha2" withSources() withJavadoc() 

resolvers += "Akka Repository" at "http://repo.akka.io/releases/" 

И мой класс:

import org.apache.spark.{SparkConf, SparkContext}

import com.datastax.spark.connector._

object HelloWorld { def main(args:Array[String]): Unit ={ System.setProperty("spark.cassandra.query.retry.count", "1")

val conf = new SparkConf(true) 
    .set("spark.cassandra.connection.host", "cassandra-hostname") 
    .set("spark.cassandra.username", "cassandra") 
    .set("spark.cassandra.password", "cassandra") 

val sc = new SparkContext("local", "testingCassy", conf) 

> //val foo = sc.cassandraTable("keyspace name", "table name")

val rdd = sc.parallelize(1 to 100) 
val sum = rdd.reduce(_+_) 

println(sum) } } 

ответ

9

Вам нужно добавить spark-sql в список зависимостей

libraryDependencies += "org.apache.spark" %% "spark-sql" % "1.1.0" 
+0

yup ... это был. похоже, что документы немного устарели. Благодарю. – ashic

0

Добавить библиотеку в зависимости pom.xml файл вашего проекта. Кажется, они изменили местоположение зависимостей Vector.class в новом рефакторинге.

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