获取:导入 Spark 模块时出错:没有名为“pyspark.streaming.kafka”的模块
Posted
技术标签:
【中文标题】获取:导入 Spark 模块时出错:没有名为“pyspark.streaming.kafka”的模块【英文标题】:Getting : Error importing Spark Modules : No module named 'pyspark.streaming.kafka' 【发布时间】:2020-05-27 22:27:40 【问题描述】:我需要将 pyspark 脚本创建的日志推送到 kafka。我正在做 POC,所以在 Windows 机器中使用 Kafka 二进制文件。我的版本是 - kafka - 2.4.0、spark - 3.0 和 python - 3.8.1。我正在使用 pycharm 编辑器。
import sys
import logging
from datetime import datetime
try:
from pyspark import SparkContext
from pyspark.streaming import StreamingContext
from pyspark.streaming.kafka import KafkaUtils
except ImportError as e:
print("Error importing Spark Modules :", e)
sys.exit(1)
遇到错误
导入 Spark 模块时出错:没有名为“pyspark.streaming.kafka”的模块
我在这里缺少什么?缺少任何图书馆吗? pyspark 和火花流工作正常。如果有人可以在这里提供一些指导,我将不胜感激。
【问题讨论】:
【参考方案1】:Spark Streaming 自 Spark 2.4 起已弃用。
您应该通过pyspark.sql
模块使用结构化流式传输
【讨论】:
我面临同样的问题,我尝试了几乎所有版本,但没有弄清楚。是的,它已被弃用,但我不明白为什么它会通过错误。 @vishal 也许是因为您没有添加--packages
来包含模块? Spark 不附带 Kafka 包【参考方案2】:
问题在于我用于 python 和 spark 的版本。 我使用的是不完全支持 pyspark 的 python 3.8。我将版本更改为 3.7。 spark 3 还在预览版中,将其更改为 2.4.5。它工作正常。
【讨论】:
以上是关于获取:导入 Spark 模块时出错:没有名为“pyspark.streaming.kafka”的模块的主要内容,如果未能解决你的问题,请参考以下文章
导入 keras ModuleNotFoundError 时出错:没有名为“tensorflow.examples”的模块; 'tensorflow' 不是一个包
ModuleNotFoundError:没有名为“py4j”的模块