spark streaming programming guide 快速开始(二)

原文网站:

http://spark.apache.org/docs/latest/streaming-programming-guide.html

本篇译文链接:

http://spark.apache.org/docs/latest/streaming-programming-guide.html#a-quick-example


在深入了解spark streaming程序逻辑之前,先让我们看一些简单的例子。如果你想实现从tcp套接字获取文本并进行统计的功能,你可以按照如下方式进行实现。【python版本】

首先,需要引入StreamingContext,它是所有流处理函数的入口。如下我们构造了一个具有2个线程,每隔1秒执行一次的本地StreamingContext。


通过使用该context,我们可以从tcp获取dstream数据。


该变量lines DStream表示服务端将要获取到的数据,Dstream中的每条记录表示一行文本数据。接下来,我们会对这些数据做拆分处理。


flatmap是一个一对多的方法,它会将每条源数据生成若干条数据的dstream。在本例中,一行文本会拆分成若干word,并且将生成一个新的dstream words。之后我们会对这些文字做统计。


Dstream words接下来通过map方法(一对一)生成新的Dstream pairs,并且继续通过reduceByKey方法来做出现频率的统计。最终通过pprint进行打印输出。

注意:只有当系统真正启动之后,上面这些计算才会生效,但是截至目前还没有正式启动。可以通过下面方法启动系统。


至此,我们的程序本身已经完成。

但是需要对tcp套接字进行监控,我们在这里通过netcat实现。


如果你安装了spark,可以通过下面的方式进行执行。



调试过程如下所示:


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值