spacer.gif

总述:

Spark Streaming的流式处理可以在线的处理图计算,机器学习,等等

Spark Streaming 很像Spark Core上的一个应用程序

如果你想做一个最好的应用程序的话,他提供了最好的参考

任何事物都有他的兴奋点、转折点. 就如独孤九剑赢在转折点的趋势点上,因为它是在你要做之前就在那等你。

小技巧:

把Spark Streaming 中的batch interval 放到足够大,例如5分钟

------------------------------案例开始---------------------------


下面是演示此技巧的过程:

1.修改一支Spark Stream的程序,将时间改为300秒(即5分钟)

wKiom1ctNsahhExgAAFEJmjOdDE717.png

2.导出执行Jar包

wKiom1ctNtjxdem3AAGpnLmwWXc951.png

3.将执行Jar包从本机拷贝到集群文件目录下

wKiom1ctNuSAwIDhAADiEEZTbyQ674.png

4.编写程序运行的shell脚本

wKiom1ctNurxhbneAABfafXBxvs597.png

5.重启spark集群,开启运行环境

wKiom1ctNv-BbcuKAAG2an_yr94190.png

6.查看底层文件系统是否OK

wKiom1ctNwryVcSoAACiG1RlvnU161.png

7.启动 ./start-history-server.sh (图略),方便监控


8.运行shell脚本运行程序

wKioL1ctN-7y8sgSAADkK0uXMgM758.png

9.启动nc 日志采集窗口(图略)

wKioL1ctOA-jht14AAJqJ_enctQ406.png

10.看下运行结果:我们到底过滤了什么?

wKiom1ctN1HATKruAAKNNzfjg1A873.png

11.下面我们一步步观察运行过程

wKioL1ctODCDBH9rAAD-K6HdWDw815.png


wKiom1ctN1yAe8hjAACaZmrRJaQ640.png



wKioL1ctODzyR3HxAAEzs8Y1xS4348.png


而且数据接收器运行了1.5分钟 why?


wKiom1ctN2qQtIP8AADzoASnjn0110.png


但是Receiver是在Executor中运行的,且在这个地方就是以一个Task去接收数据

Receiver接收数据和普通的Job没有区别,启示:不能得Job之间可以相互配合

为你写复杂的程序奠定了良好的基础。是黄金切入点。

复杂的程序一定是多个Job构成的。

wKioL1ctOEyANSh9AAFgtWZjJiU134.png


wKiom1ctN3uCfaXFAADHAc0Ts1k178.png


wKioL1ctOFyCmdy4AAD_G7by0-E084.png


wKiom1ctN4uQpappAAD3eOW_cJ4983.png


接收数据是在一个worker中接收的,但是Executor发生在4个worker里面

wKiom1ctN5mCqnymAAG-aNCFT68198.png


wKioL1ctOHqjiPjDAAEZlTlS26c164.png


wKiom1ctN6LD5WvIAACYsucthcw248.png

真正的Job的执行只有一个,但是产生了很多个Job

他为了一个批处理做了这么多工作. 4个Job,前面一个Job,后面3个Job


----------------------------案例结束------------------------


Spark Streaming 运行过程图解:

wKiom1ctN6jTw_WRAAECx3JI7hA589.png


wKioL1ctOIeA-3A2AACVu4H8jeI058.png


wKiom1ctN7PCzcbvAACLutySlMI600.png


wKioL1ctOJORNp_3AACU1U8vNq0474.png


Spark Streaming 官网说明解读:

wKioL1ctONrRUapnAAGc0Nk2_ew258.png


wKiom1ctOA_AmJSTAAGRcJTtKwg604.png


备注:

这是我的Spark版本定制班学习笔记

更多私密内容,请关注微信公众号:DT_Spark

如果您对大数据Spark感兴趣,可以免费听由王家林老师每天晚上20:00开设的Spark永久免费公开课,地址YY房间号:68917580