Pyspark和Cassandra连接错误



我遇到了问题。当我编写示例Cassandra连接代码时,导入Cassandra Connector会产生错误。

我正在像下面的代码一样启动脚本(两个都给出了错误)

./spark-submit --jars spark-cassandra-connector_2.11-1.6.0-M1.jar /home/beyhan/sparkCassandra.py
./spark-submit --jars spark-cassandra-connector_2.10-1.6.0.jar /home/beyhan/sparkCassandra.py

但在下面的错误时

import pyspark_cassandra

Importerror:没有名为pyspark_cassandra的模块

我做错了哪一部分?

注意:我已经安装了Cassandra数据库。

您是在混合dataStax的spark cassandra连接器(在罐子中,您添加以启动spark提交)和targetholding的pyspark cassandra项目(具有pyspark_cassandra模块)。后者被弃用,因此您可能应该使用Spark Cassandra连接器。可以在此处找到此软件包的文档。

要使用它,您可以添加以下标志来激发提交:

--conf spark.cassandra.connection.host=127.0.0.1 
--packages com.datastax.spark:spark-cassandra-connector_2.11:2.0.0-M3

当然使用Cassandra正在侦听的IP地址,并检查需要使用的连接器版本:2.0.0-m3是最新版本,可与Spark 2.0和大多数Cassandra版本一起使用。如果您使用不同版本的Spark,请参见兼容性表。2.102.11是Scala您的Spark版本的版本。如果使用Spark 2,默认情况下为2.11,在2.x之前是2.10。

那么,与连接器一起使用的最佳方法是使用它来读取数据框,看起来像这样:

 sqlContext.read
  .format("org.apache.spark.sql.cassandra")
  .options(table="kv", keyspace="test")
  .load().show()

有关更多详细信息,请参见带有DataFrames文档的PySpark

相关内容

  • 没有找到相关文章

最新更新