簡體   English   中英

如何將Spark與Cassandra連接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM