我正在尝试将我的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")\ 文件" /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行,装饰 文件" /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
找到套餐