DStream相关操作, DStream的Transformations转换算子和OutPut输出算子, Window Operations开窗函数 30

前言

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

1. Transformations on DStreams

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
特殊的Transformations操作

  • UpdateStateByKey Operation
    UpdateStateByKey用于记录历史记录,保存上次的状态
  • Window Operations(开窗函数), 滑动窗口转换操作:
    1. 滑动窗口转换操作的计算过程如下图所示,我们可以事先设定一个滑动窗口的长度(也就是窗口的持续时间),
    2. 并且设定滑动窗口的时间间隔(每隔多长时间执行一次计算).
    3. 然后,就可以让窗口按照指定时间间隔在源DStream上滑动,每次窗口停放的位置上,都会有一部分DStream被框入窗口内,形成一个小段的DStream.
    4. 这时,就可以启动对这个小段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.滑动间隔,每隔多久计算一次。
      注意, 滑动间隔必须是窗口的整数倍,否则会出现数据重复消费或者遗忘消费的情况

2. Output Operations on DStreams

Output Operations可以将DStream的数据输出到外部的数据库或文件系统,当某个Output Operations被调用时(与RDD的Action相同),spark streaming程序才会开始真正的计算过程.
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值