我正在使用spark-cassandra-connector从spark连接到cassandra。
我可以使用以下命令通过Livy成功连接。
// do:
const elen = new User(window.config);
window.someGlobalFunction();
// don't
const elen = new User(config);
someGlobalFunction();
还可以使用以下命令通过pyspark shell进行交互式连接
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
但是无法通过spark-submit进行连接。下面是我尝试过的一些命令。
sudo pyspark --packages com.datastax.spark:spark-cassandra-connector_2.10:2.0.10 --conf spark.cassandra.connection.host=myip
这个没有用。
我尝试将这些参数传递给我用于提交火花的python文件,但仍然无法正常工作。
spark-submit test.py --packages com.datastax.spark:spark-cassandra-connector_2.11:2.3.2 --conf spark.cassandra.connection.host=myip
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)
还尝试通过Jupyter Notebook传递这些参数。
sqlContext = SQLContext(sc)
import os
到目前为止,我所看到的所有线程都在谈论使用spark-shell的spark-cassandra-connector,但是关于spark-submit的内容并没有太多。
使用的版本
利维:0.5.0 火花:2.4.0 卡桑德拉:3.11.4
答案 0 :(得分:1)
未经测试,但最可能的原因是您指定了所有选项:
--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.S。有关更多详细信息,请参见Spark documentation ...