【问题标题】:Getting : Error importing Spark Modules : No module named 'pyspark.streaming.kafka'获取:导入 Spark 模块时出错:没有名为“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 和火花流工作正常。如果有人可以在这里提供一些指导,我将不胜感激。

【问题讨论】:

    标签: apache-spark pyspark apache-kafka spark-streaming


    【解决方案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。它工作正常。

    【讨论】:

      猜你喜欢
      • 2021-10-16
      • 2020-11-13
      • 2021-05-16
      • 2019-04-12
      • 2014-05-29
      • 2017-11-04
      • 2017-05-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多