我正在尝试将我的PySpark集群连接到Cassandra集群 . 我做了以下设置从Spark到Cassandra的连接器:

./bin/spark-submit --packages com.datastax.spark:spark-cassandra-connector_2.10:1.5.0-M2 ./exaples/testing.py

我在我的python文件中设置了以下内容:

from pyspark import SparkContext, SparkConf
from pyspark.sql import SQLContext

SPARK_IP = "ip-111-11-1-1.us-west-2.compute.internal"
SPARK_PORT = "7077"
CASSANDRA_PORT = "222.22.2.22"

conf = SparkConf() \
   .setMaster("spark://%s:%s" % (SPARK_IP, SPARK_PORT)) \
   .set("spark.cassandra.connection.host", CASSANDRA_PORT)
sc = SparkContext(conf=conf)
sqlContext = SQLContext(sc)

在我的Cassandra集群中,我创建了一个键空间和一个表 . 然后我尝试从pyspark中的Cassandra读取并执行以下操作:

sqlContext.read \
.format("org.apache.spark.sql.cassandra") \
.options(table="poop", keyspace="demo") \
.load().show()

我收到以下错误,我不知道如何解决这个问题:

回溯(最近一次调用最后一次):文件“/usr/local/spark/examples/testing.py”,第37行,在.options(table =“poop”,keyspace =“demo”)\ File“/ usr / local / spark / python / lib / pyspark.zip / pyspark / sql / readwriter.py“,第155行,在加载文件中”/usr/local/spark/python/lib/py4j-0.10.4-src.zip/py4j /java_gateway.py“,第1133行,在调用文件”/usr/local/spark/python/lib/pyspark.zip/pyspark/sql/utils.py“,第63行,在deco文件中”/ usr / local / spark /python/lib/py4j-0.10.4-src.zip/py4j/protocol.py“,第319行,在get_return_value中py4j.protocol.Py4JJavaError:调用o64.load时发生错误 . :java.lang.ClassNotFoundException:无法找到数据源:org.apache.spark.sql.cassandra . 请在http://spark.apache.org/third-party-projects.html查找软件包