【发布时间】:2020-09-05 13:26:34
【问题描述】:
使用 spark-streaming 的 Kafka 会引发错误:
from pyspark.streaming.kafka import KafkaUtils ImportError: No module named kafka
我已经设置了一个 kafka 代理和一个包含一个 master 和一个 worker 的工作 spark 环境。
import os
os.environ['PYSPARK_PYTHON'] = '/usr/bin/python2.7'
import findspark
findspark.init('/usr/spark/spark-3.0.0-preview2-bin-hadoop2.7')
import pyspark
import sys
from pyspark import SparkConf,SparkContext
from pyspark.streaming import StreamingContext
from pyspark.streaming.kafka import KafkaUtils
if __name__=="__main__":
sc = SparkContext(appName="SparkStreamAISfromKAFKA")
sc.setLogLevel("WARN")
ssc = StreamingContext(sc,1)
kvs = KafkaUtils.createStream(ssc,"my-kafka-broker","raw-event-streaming-consumer",{'enriched_ais_messages':1})
lines = kvs.map(lambda x: x[1])
lines.count().map(lambda x: 'Messages AIS: %s' % x).pprint()
ssc.start()
ssc.awaitTermination()
我假设错误是缺少与 kafka ans 相关的内容,特别是版本。有人可以帮忙吗?
spark-version:版本 3.0.0-preview2
我执行:
/usr/spark/spark-3.0.0-preview2-bin-hadoop2.7/bin/spark-submit --packages org.apache.spark:spark-streaming-kafka-0-8_2.11:2.0.1 --jars spark-streaming-kafka-0-10_2.11 spark_streamer.py spark://mysparkip:7077
【问题讨论】:
标签: apache-spark pyspark apache-kafka spark-structured-streaming spark-kafka-integration