【问题标题】:Kafka Structured Streaming java.lang.NoClassDefFoundError卡夫卡结构化流 java.lang.NoClassDefFoundError
【发布时间】:2018-02-21 09:38:13
【问题描述】:

我之前能够运行 Kafka 结构流式编程。但突然间,我所有的结构流式 python 程序都因错误而失败。我从 Spark 网站上获取了基本的 Kafka 结构流式编程,但也因同样的错误而失败。

py4j.protocol.Py4JJavaError:调用 o31.load 时出错。 : java.lang.NoClassDefFoundError: org/apache/kafka/common/序列化/ByteArrayDeserializer 在 org.apache.spark.sql.kafka010.KafkaSourceProvider$.(KafkaSourceProvider.scala:376) 在 org.apache.spark.sql.kafka010.KafkaSourceProvider$.(KafkaSourceProvider.scala)

我正在使用的 Spark 提交

spark-submit --packages org.apache.spark:spark-sql-kafka-0-10_2.11:2.2.0 C:\Users\ranjith.gangam\PycharmProjects\sparktest\Structured_streaming.py

这是我从 Spark github 获取的代码

spark = SparkSession\
      .builder\
      .appName("StructuredKafkaWordCount")\
      .getOrCreate()

# Create DataSet representing the stream of input lines from kafka
lines = spark\
    .readStream\
    .format("kafka")\
    .option("kafka.bootstrap.servers", bootstrapServers)\
    .option(subscribeType, topics)\
    .load()\
    .selectExpr("CAST(value AS STRING)")

words = lines.select(
    # explode turns each item in an array into a separate row
    explode(
        split(lines.value, ' ')
    ).alias('word')
)

# Generate running word count
wordCounts = words.groupBy('word').count()
# Start running the query that prints the running counts to the console
query = wordCounts\
    .writeStream\
    .outputMode('complete')\
    .format('console')\
    .start()

query.awaitTermination()

【问题讨论】:

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


    【解决方案1】:

    您的方法是正确的,但不幸的是,PySpark 尚不支持 Kafka 0.10。正如您在SPARK-16534 中看到的那样。

    到目前为止,对 pySpark 的唯一支持是 Kafka 0.8。因此,您可以迁移到 spark 0.8 或将代码更改为 Scala。

    【讨论】:

    • 添加包 spark-streaming-kafka-0-10-assembly_2.10:2.2.0 后工作正常
    • @ranjithreddy 你能把你的评论作为答案吗?这样就很容易找到了。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2019-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-08
    • 2018-03-06
    • 2016-08-03
    • 2018-09-15
    相关资源
    最近更新 更多