微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

spark笔记之DStream相关操作

DStream上的操作与RDD的类似,分为Transformations(转换)和Output Operations(输出)两种,此外转换操作中还有一些比较特殊的操作,如:updateStateByKey()、transform()以及各种Window相关的操作。

4.1 Transformations on DStreams

spark笔记之DStream相关操作

特殊的Transformations

(1)UpdateStateByKey Operation

UpdateStateByKey用于记录历史记录,保存上次的状态

(2)Window Operations(开窗函数)

滑动窗口转换操作:

滑动窗口转换操作的计算过程如下图所示,我们可以事先设定一个滑动窗口的长度(也就是窗口的持续时间),并且设定滑动窗口的时间间隔(每隔多长时间执行一次计算),然后,就可以让窗口按照指定时间间隔在源DStream上滑动,每次窗口停放的位置上,都会有一部分DStream被框入窗口内,形成一个小段的DStream,这时,就可以启动对这个小段DStream的计算。

spark笔记之DStream相关操作

(1)红色的矩形就是一个窗口,窗口框住的是一段时间内的数据流。

(2)这里面每一个time都是时间单元,在官方的例子中,每隔window size是3 time unit, 而且每隔2个单位时间,窗口会slide一次。

所以基于窗口的操作,需要指定2个参数:

· window length - The duration of the window (3 in the figure)

· slide interval - The interval at which the window-based operation is performed (2 in the figure).  

a.窗口大小,一段时间内数据的容器。

b.滑动间隔,每隔多久计算一次。

4.2 Output Operations on DStreams

Output Operations可以将DStream的数据输出到外部的数据库文件系统,当某个Output Operations被调用时(与RDD的Action相同),spark streaming程序才会开始真正的计算过程。
————————————————

spark笔记之DStream相关操作

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐