我一直在寻找在Kafka 0.8.0中的pyspark.streaming.kafka中KafkaUtils.createStream()
API调用的替代或替代方法。
尝试在Kafka 0.10.0中使用此(已贬值的)函数会产生错误。我当时正在考虑创建自定义接收器,但是这里也没有任何pyspark支持。 It also seems like there is no fix in the make.
这是我要构建的应用程序的摘要。该应用程序希望从不同的生产线资源创建一个实时的(汇总的)仪表板,并将其输入到Kafka中。同时,处理后的数据将进入永久存储。目的是根据此永久数据创建异常检测系统。
我可以通过在发送数据之前对数据进行批处理来解决永久存储的问题。但这显然不适用于流媒体播放。
下面您可以找到脚本外观的伪代码:
sc = SparkContext(appName='abc')
sc.setLogLevel('WARN')
ssc = StreamingContext(sc, 2)
## Create Dstream object from Kafka (This is where I'm stuck)
## Transform and create aggregated windows
ssc.start()
## Catch output and send back to Kafka as producer
非常欢迎所有建议和解决方案。