Spark Kafka WordCount Python

时间:2015-05-14 00:44:54

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

我刚开始玩apache spark并试图让kafka wordcount在python中运行。我决定使用python作为一种语言,我将能够用于其他大数据技术,而DataBricks则通过spark提供他们的课程。

我的问题: 我从这里运行基本的wordcount示例:https://github.com/apache/spark/blob/master/examples/src/main/python/streaming/kafka_wordcount.py 它似乎开始并连接到kafka日志,但我看不到它实际上产生一个字数。然后我添加了以下行来写入文本文件,它只生成一堆空文本文件。它正在连接到kafka主题,主题中有数据,我怎么能看到它实际上对数据做了什么呢?这可能是时间问题吗?欢呼声。

处理kafka数据的代码

                counts = lines.flatMap(lambda line: line.split("|")) \
                    .map(lambda word: (word, 1)) \
                    .reduceByKey(lambda a, b: a+b) \
                    .saveAsTextFiles("sparkfiles")

Kafka主题中的数据

                    16|16|Mr|Joe|T|Bloggs

1 个答案:

答案 0 :(得分:0)

抱歉,我是个白痴。当我在火花应用程序运行时生成主题的数据时,我可以在输出中看到以下内容

                (u'a', 29)
                (u'count', 29)
                (u'This', 29)
                (u'is', 29)
                (u'so', 29)
                (u'words', 29)
                (u'spark', 29)
                (u'the', 29)
                (u'can', 29)
                (u'sentence', 29)

这表示每个单词在刚刚由spark处理的块中表示的次数。