AttributeError: 'SparkContext' object has no attribute 'addJar'

AttributeError: 'SparkContext' object has no attribute 'addJar'

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

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

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

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

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

但这对我也不起作用。我在网上看过,但没有得到任何有用的信息 link。

我在 HDP 集群中使用带有 1 个名称节点和 3 个数据节点的 Spark 1.5.2。

你能帮我解决这个问题吗?真的很感谢你。

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

它通过在 spark_deafult.config 中添加外部依赖对我有用

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

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