'JavaPackage' 对象在执行“ssc = StreamingContext(sc, 1)”时不可调用

问题描述

我目前有 Spark spark-2.4.7-bin-hadoop2.7 和 Kafka kafka_2.11-2.4.1。

我正在尝试连接到 Apache broker 以处理存储在主题中的数据。

我正在运行以下代码

import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages org.apache.spark:spark-streaming-kafka-0-8_2.11:2.4.7 pyspark-shell'

from pyspark import SparkContext
from pyspark.streaming import StreamingContext

sc = SparkContext("local[2]","testtopic")
ssc = StreamingContext(sc,2)

我收到以下错误

回溯(最近一次调用最后一次):文件“”,第 1 行,在 文件 "/home/bupry_dev/development/spark_home/spark-2.4.7-bin-hadoop2.7/python/pyspark/streaming/context.py",第 61 行,在 init 中 self._jssc = jssc 或 self._initialize_context(self._sc,batchDuration) 文件 "/home/bupry_dev/development/spark_home/spark-2.4.7-bin-hadoop2.7/python/pyspark/streaming/context.py",第 64 行,在 _initialize_context 中 self._ensure_initialized() 文件“/home/bupry_dev/development/spark_home/spark-2.4.7-bin-hadoop2.7/python/pyspark/streaming/context.py”, 第 88 行,在 _ensure_initialized 中 SparkContext._active_spark_context,cloudpickleSerializer(),gw) 文件 "/home/bupry_dev/development/spark_home/spark-2.4.7-bin-hadoop2.7/python/pyspark/streaming/util.py",第 106 行,在 init 中 self.gateway.jvm.PythonDStream.registerSerializer(self) TypeError: 'JavaPackage' 对象不可调用

我尝试了几个 --jars 和 --packages,使用不同的版本,但我不确定我做错了什么。在每篇文章中,他们都说您必须将 Spark 的预构建版本(即 2.11)与您的 Kafka 相匹配,这就是我正在做的。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)