Spark-Cassandra-Connector不适用于提交火花

时间:2019-05-20 14:28:11

标签: apache-spark cassandra pyspark spark-cassandra-connector

我正在使用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

1 个答案:

答案 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 ...