[英]How to connect spark with Cassandra
我正在使用Ubuntu,並且試圖將Spark與Cassandra連接起來,我使用了以下步驟。
git clone https://github.com/datastax/spark-cassandra-connector.git
cd spark-cassandra-connector
./sbt/sbt assembly
./spark-shell --jars ~/spark/jars/spark-cassandra-connector-assembly-1.4.0-SNAPSHOT.jar
然后我嘗試了這個
Scala> sc.stop
Scala> import com.datastax.spark.connector._
Scala> org.apache.spark.SparkContext
Scala> import org.apache.spark.SparkContext._
Scala import org.apache.spark.SparkConf
Scala> val conf = new SparkConf(true).set("spark.cassandra.connection.host", "localhost")
Scala> val sc = new SparkContext(conf)
Scala> val test_spark_rdd = sc.cassandraTable("keyspace", "table")
我正在使用spark 2.2.1,而我的Cassandra是apache-cassandra-2.2.12
當我輸入此命令時
Scala> val test_spark_rdd = sc.cassandraTable("keyspace", "table")
它給了我這個錯誤。
錯誤:加載類文件“ CassandraConnector.class”時檢測到缺少或無效的依賴項。 無法訪問包org apache spark包中的登錄類型,因為缺少它(或其依賴項)。 檢查構建定義中是否缺少依賴項或沖突的依賴項。 (使用Ylog類路徑重新運行,以查看有問題的類路徑。)如果針對不兼容版本的org apache spark編譯了“ CassandraConnector類”,則完全重建可能會有所幫助。
我找到了其他教程,但無法解決我的問題,有人會給我建議。 謝謝
不要下載jar文件並嘗試使用它們。 相反,只需將spark shell指向Maven依賴項即可。
./bin/spark-shell --packages "com.datastax.spark:spark-cassandra-connector:2.0.7"
現在Spark Shell將自動從Maven Central下載正確的jar文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.