AttributeError:'SparkContext'对象没有属性'addJar'

时间:2016-11-25 05:50:49

标签: pyspark mqtt

我需要在我的pyspark字数统计代码中添加一些外部依赖库(在我的情况下为spark-streaming-mqtt_2.10-1.5.2.jar)。我知道我们可以在spark提交中使用-jars属性添加外部jar,或者使用pyspark shell运行。但我想在我的代码或spark配置文件中添加这个jar。我发现我们有SparkContext.addJar()方法,可以包含在代码中。

sc.addJar("spark-streaming-mqtt_2.10-1.5.2.jar")

但是上面的命令给了我错误:AttributeError: 'SparkContext' object has no attribute 'addJar'

我尝试在Spark_default.config文件中添加此jar:

spark.driver.extraClassPath spark-streaming-mqtt_2.10-1.5.2.jar
spark.executor.extraClassPath spark-streaming-mqtt_2.10-1.5.2.jar

但这对我来说也不起作用。我已经在互联网上查看但没有得到任何有用的链接。

我在Spark HD 1.5.2中使用1个namenode和3个datanode。

你能帮我解决这个问题。非常感谢你。

2 个答案:

答案 0 :(得分:0)

通过在spark_deafult.config中添加外部依赖作为

,它对我有用

spark.jars spark-streaming-mqtt_2.10-1.5.2.jar

现在我的工作是依赖外部。

答案 1 :(得分:-1)

spark.driver.extraClassPathspark.executor.extraClassPath可以使用,但这应该是您的Hadoop节点的路径,因为这些文件没有上传,它们只是添加到spark包含类路径。