spark cassandra连接器不适用于spark submit

nmpmafwu  于 2021-06-14  发布在  Cassandra
关注(0)|答案(1)|浏览(474)

我用SparkCassandra连接器连接到Cassandra从Spark。
我能够通过livy连接成功使用下面的命令。

curl -X POST --data '{"file": "/my/path/test.py", "conf" : {"spark.jars.packages": "com.datastax.spark:spark-cassandra-connector_2.11:2.3.0", "spark.cassandra.connection.host":"myip"}}' -H "Content-Type: application/json" localhost:8998/batches

还可以通过pyspark shell使用下面的命令进行交互连接

sudo pyspark --packages com.datastax.spark:spark-cassandra-connector_2.10:2.0.10 --conf spark.cassandra.connection.host=myip

但无法通过spark submit连接。下面是我尝试过的一些命令。 spark-submit test.py --packages com.datastax.spark:spark-cassandra-connector_2.11:2.3.2 --conf spark.cassandra.connection.host=myip 这个不行。
我尝试将这些参数传递给我用于spark submit的python文件,但仍然不起作用。 conf = (SparkConf().setAppName("Spark-Cassandracube").set("spark.cassandra.connection.host","myip").set({"spark.jars.packages","com.datastax.spark:spark-cassandra-connector_2.11:2.3.0")) sc = SparkContext(conf = conf) sqlContext = SQLContext(sc) 试图通过这些参数uising jupyter笔记本也是。
import os os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages com.datastax.spark:spark-cassandra-connector_2.11:2.3.0 --conf spark.cassandra.connection.host="myip" pyspark-shell' 到目前为止,我看到的所有线程都在谈论使用spark shell的spark cassandra连接器,但对spark submit没有太多介绍。
使用的版本
利维:0.5.0Spark:2.4.0Cassandra:3.11.4

kxkpmulp

kxkpmulp1#

未测试,但最可能的原因是您指定了所有选项:

--packages com.datastax.spark:spark-cassandra-connector_2.11:2.3.2 \
  --conf spark.cassandra.connection.host=myip

在脚本名称之后: test.py -在这种情况下, spark-submit 将它们视为脚本本身的参数,而不是 spark-submit . 尝试在选项后移动脚本名称。。。
p、 请参阅spark文档了解更多详细信息。。。

相关问题