pyspark 加载jar_python – pyspark:使用spark-submit运送jar依赖项

在本地运行pyspark脚本时,通过--jars参数成功加载了elasticsearch-hadoop jar,但在spark集群上运行时出现ClassNotFoundException。问题在于集群上的工节点缺少该jar。解决方案是将jar文件与应用程序一起分发,可能是通过将jar添加到集群的类路径或使用--jars参数确保所有节点都能访问。
摘要由CSDN通过智能技术生成

我写了一个pyspark脚本,它读取两个json文件,coGroup它们并将结果发送到elasticsearch集群;当我在本地运行它时,一切都按预期工作(大部分),我为org.elasticsearch.hadoop.mr.EsOutputFormat和org.elasticsearch.hadoop.mr.LinkedMapWritable类下载了elasticsearch-hadoop jar文件,然后运行我的作业pyspark使用–jars参数,我可以看到弹性搜索集群中出现的文档.

但是,当我尝试在spark集群上运行它时,我收到此错误:

Traceback (most recent call last):

File "/root/spark/spark_test.py", line 141, in

conf=es_write_conf

File "/root/spark/python/pyspark/rdd.py", line 1302, in saveAsNewAPIHadoopFile

keyConverter, valueConverter, jconf)

File "/root/spark/python/lib/py4j-0.8.2.1-src.zip/py4j/java_gateway.py", line 538, in __call__

File "/root/spark/python/lib/py4j-0.8.2.1-src.zip/py4j/protocol.py", line 300, in get_return_value

py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.saveAsNewAPIHadoopFile.

: java.lang.ClassN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值