Apache spark Spark Cassandra接头不适用于Spark submit
我使用spark cassandra连接器从spark连接到cassandra 我能够使用下面的命令通过Livy成功连接Apache spark Spark Cassandra接头不适用于Spark submit,apache-spark,cassandra,pyspark,spark-cassandra-connector,Apache Spark,Cassandra,Pyspark,Spark Cassandra Connector,我使用spark cassandra连接器从spark连接到cassandra 我能够使用下面的命令通过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
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)
还尝试传递这些参数
导入操作系统
os.environ['PYSPARK\u SUBMIT\u ARGS']='--packages com.datastax.spark:spark-cassandra-connector\u 2.11:2.3.0--conf spark.cassandra.connection.host=“myip”PYSPARK shell'
到目前为止,我所看到的所有线程都在谈论使用spark shell的spark cassandra连接器,但很少涉及spark submit
使用的版本
利维:0.5.0
火花:2.4.0
Cassandra:3.11.4未测试,但最可能的原因是您指定了所有选项:
--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>你有什么正确的版本。尤其是当我们通过包和jar时,脚本应该保留在命令的末尾。虽然它有点奇怪。非常感谢。程序本身通常需要选项,所以这个位置分离使得更容易理解什么PAR。参数属于
spark submit
以及如何自行编程