【发布时间】:2018-08-13 01:45:30
【问题描述】:
我正在使用 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 类路径重新运行以查看有问题的类路径。) 如果“CassandraConnector 类”是针对不兼容的 org apache spark 版本编译的,则完全重建可能会有所帮助。
我找到了不同的教程,但我无法解决我的问题,有人会给我建议吗?谢谢
【问题讨论】:
-
连接器版本是1.4?对于 spark 2.x,它应该是 spark-cassandra-connector 2.0
-
你能告诉我如何安装 2.x
-
通常使用sbt或maven进行依赖管理
标签: scala apache-spark cassandra spark-dataframe