2014-10-06 20 views
5

Tôi đang cố gắng để có được đầu nối spark cassandra của DataStax hoạt động. Tôi đã tạo một dự án SBT mới trong IntelliJ và thêm một lớp duy nhất. Lớp và tệp sbt của tôi được đưa ra dưới đây. Tạo bối cảnh tia lửa dường như hoạt động, tuy nhiên, thời điểm tôi bỏ ghi chú dòng nơi tôi cố gắng tạo một cassandraTable, tôi nhận được lỗi biên dịch sau:Lỗi biên dịch với đầu nối spark cassandra và SBT

Lỗi: scalac: tham chiếu tượng trưng xấu. Chữ ký trong CassandraRow.class dùng để chỉ chất xúc tác trong gói org.apache.spark.sql không có sẵn. Có thể mất hoàn toàn đường dẫn lớp hiện tại hoặc phiên bản trên đường dẫn lớp có thể không tương thích với phiên bản được sử dụng khi biên dịch CassandraRow.class.

Sbt là loại mới đối với tôi và tôi đánh giá cao bất kỳ sự trợ giúp nào trong việc hiểu ý nghĩa của lỗi này (và tất nhiên, cách giải quyết nó).

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

Và lớp học của tôi:

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

Trả lời

9

Bạn cần phải thêm spark-sql vào danh sách phụ thuộc

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

yup ... đó là nó. có vẻ như các tài liệu hơi lạc hậu. Cảm ơn. – ashic

0

Thêm phụ thuộc thư viện trong tập tin pom.xml của dự án của bạn. Có vẻ như họ đã thay đổi vị trí phụ thuộc Vector.class trong việc tái cấu trúc mới.

Các vấn đề liên quan