使用kakfa作为python的源代码(pyspark)

sdnqo3pr  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(302)

对于apache spark 2.1版,我想使用kafka(0.10.0.2.5)作为Pypark结构化流媒体的源:
Kafka应用程序.py:

from pyspark.sql import SparkSession

spark=SparkSession.builder.appName("TestKakfa").getOrCreate()

kafka=spark.readStream.format("kafka") \
.option("kafka.bootstrap.servers","localhost:6667") \
.option("subscribe","mytopic").load()

我通过以下方式启动了应用程序:

./bin/spark-submit kafka_app.py --master local[4] --jars spark-streaming-kafka-0-10-assembly_2.10-2.1.0.jar

从mvnrepository.com/artifact/org.apache.spark/spark-streaming-kafka-0-10-assembly\u2.10/2.1.0下载.jar之后
我得到这样的错误:

[...] java.lang.ClassNotFoundException:Failed to find data source: kakfa. [...]

类似地,我无法运行spark与kakfa集成的示例:https://spark.apache.org/docs/2.1.0/structured-streaming-kafka-integration.html
因此,我想知道我错在哪里,或者kafka是否真的支持使用pyspark与spark 2.1的集成,因为这一页只提到scala和java作为版本0.10中支持的语言,这让我怀疑:https://spark.apache.org/docs/latest/streaming-kafka-integration.html (但如果尚未得到支持,为什么发布python示例?)
提前感谢您的帮助!

iq0todco

iq0todco1#

您需要使用sql结构化流jar“spark-sql-kafka-0-10_2.11-2.1.0.jar”而不是spark-streaming-kafka-0-10-assembly_2.10-2.1.0.jar。

相关问题