在Python中输出Apache Spark的Dstream

Ste*_*vva 5 python apache-kafka apache-spark spark-streaming

我正在尝试使用我将用于构建实时数据管道的技术,并且我遇到了将我的内容导出到文件的一些问题.

我已经设置了一个本地kafka集群和一个node.js生成器,它只发送一条简单的文本消息来测试功能并粗略估计实现的复杂性.

这是从kafka读取的火花流工作,我试图让它写入文件.

from pyspark import SparkContext
from pyspark.streaming import StreamingContext
from pyspark.streaming.kafka import KafkaUtils

# Create a local StreamingContext with two working thread and batch interval of 1 second
sc = SparkContext("local[2]", "KafkaStreamingConsumer")
ssc = StreamingContext(sc, 10)

kafkaStream = KafkaUtils.createStream(ssc, "localhost:2181", "consumer-group", {"test": 1})

kafkaStream.saveAsTextFile('out.txt')

print 'Event recieved in window: ', kafkaStream.pprint()

ssc.start()
ssc.awaitTermination()
Run Code Online (Sandbox Code Playgroud)

我在提交spark工作时看到的错误是:

kafkaStream.saveAsTextFile('out.txt')
AttributeError: 'TransformedDStream' object has no attribute 'saveAsTextFile'
Run Code Online (Sandbox Code Playgroud)

没有对数据执行计算或转换,我只想构建流程.我需要更改/添加什么才能导出文件中的数据?

Cod*_*ger 9

http://spark.apache.org/docs/latest/api/python/pyspark.streaming.html

saveAsTextFiles(注意复数)

saveAsTextFile(singular)是RDD上的方法,而不是DStream.