我在做什么:错误而连接火花和卡桑德拉
- 试图连接Spark和卡桑德拉检索存储在从火花卡桑德拉表中的数据。
哪些步骤有我跟着:
- 下载卡桑德拉2.1.12和火花1.4.1。
- 内置火花与
sudo build/mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -DskipTests clean packag
和sbt/sbt clean assembly
- 存储一些数据到cassandra。
- 下载这些罐子到
spark/lib
:
cassandra-driver-core2.1.1.jar和spark-cassandra-connector_2.11-1.4.1.jar
新增的jar文件路径conf/spark-defaults.conf
像
spark.driver.extraClassPath \
~/path/to/spark-cassandra-connector_2.11-1.4.1.jar:\
~/path/to/cassandra-driver-core-2.1.1.jar
我如何运行shell:
AFTE R运行从./bin/cassandra
,我跑火花喜欢 -
sudo ./bin/pyspark
,并试图与sudo ./bin/spark-shell
我在做什么查询
sqlContext.read.format("org.apache.spark.sql.cassandra")\
.options(table="users", keyspace="test")\
.load()\
.show()
问题:
java.lang.NoSuchMethodError:\
scala.Predef$.$conforms()Lscala/Predef$$less$colon$less;
但是org.apache.spark.sql.cassandra
存在于我下载的spark-cassandra-connecter.jar中。
以下是完整的Log Trace
有什么我想:
- 我试图与选项
--packages
和和--jars
选项通过添加2罐运行。 - 试图将scala降级到2.1,并尝试与scala shell但仍然是相同的错误。
问题我一直在思考关于我们 -
- 是我使用的是相互兼容的卡珊德拉,火花和Scala的版本?
- 我使用的jar文件的版本是否正确?
- 难道我编译火花在错误的道路?
- 我缺少的东西,或做错了什么?
我真的很新,火花和卡桑德拉,所以我真的需要一些建议!花了几个小时,这可能是件小事。
我的工作火花依赖设置看起来像这样,尝试它并让我知道它是否工作: spark-cassandra-connector_2.10:1.3.0 -M2 spark-cassandra-connector-java_2.10:1.3.0 -M2 spark-core_2.10:1.3.0 spark-streaming_2.10:1.3.0 作为一个cassandra连接器,我使用spring-data – Damiano
@Damiano你有和我一样的cassandra,spark和scala版本?我正在运行Python 2.7.6。 – HackCode
连接器1.4与Cassandra 2.1.5+兼容(请参阅[版本兼容性](https://github.com/datastax/spark-cassandra-connector#version-compatibility))。 – zero323