2014-10-06 15 views
5

Sto cercando di far funzionare il connettore Cassandra scintilla DataStax. Ho creato un nuovo progetto SBT in IntelliJ e aggiunto una singola classe. Di seguito la classe e il mio file sbt. La creazione di contesti spark sembra funzionare, tuttavia, nel momento in cui interrompo la riga dove provo a creare una cassandraTable, ottengo il seguente errore di compilazione:Errori di compilazione con connettore Cassandra e SBT

Errore: scalac: riferimento simbolico errato. Una firma in CassandraRow.class si riferisce al termine catalyst nel pacchetto org.apache.spark.sql che non è disponibile. Potrebbe mancare completamente il classpath corrente o la versione su il classpath potrebbe non essere compatibile con la versione utilizzata durante la compilazione di CassandraRow.class.

Sbt è una specie di nuovo per me, e gradirei qualsiasi aiuto nel capire cosa significa questo errore (e, naturalmente, come risolverlo).

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/" 

E la mia classe:

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) } } 

risposta

9

È necessario aggiungere spark-sql alla lista delle dipendenze

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

sì ... era così. sembra che i documenti siano un po 'obsoleti. Grazie. – ashic

0

Aggiungi dipendenza libreria nel file del progetto pom.xml. Sembra che abbiano cambiato la posizione delle dipendenze Vector.class nel nuovo refactoring.

Problemi correlati