spark streaming三种应用场景

Spark Streaming共有三种运用场景,分为:无状态操作、状态操作、window操作。下面分别描述下本人对这三种运用场景的理解。

1、无状态操作

         只关注当前新生成的小批次数据,所有计算都只是基于这个批次的数据进行处理。

         一个批次的数据,我们将这个批次的时间假设得长一些,比如说一天。这样的话,一个批次就是在一天时间内生成的数据,可以理解为银行系统中贷款发放流水表这种流水表中的1天内所产成的流水数据,所有数据基于这一天的数据进行处理。可以统计这一天的贷款发放额、贷款发放笔数等指标。只不过这里是实时数据处理,所以批次的间隔时间非常短,可能只有几秒甚至是1秒,而不是一天,但原理是一样的。

2、状态操作

         关注多个RDD从头到尾累加起来,每个RDD中的某个值进行累加。

         除了当前新生成的小批次数据,但还需要用到以前所生成的所有的历史数据,即相当于流水表的历史数据。新生成的数据与历史数据合并成一份流水表的全量数据,“状态操作”即基于这一全量数据进行操作。可以统计出银行总的贷款发放笔数,总的贷款发放额。

3、window操作

Spark Streaming也支持窗口计算,它允许你在一个滑动窗口数据上应用transformation算子。

如下图所示:


    

上图中,红色实线表示窗口当前的滑动位置,虚线表示前一次窗口位置,窗口每滑动一次,落在该窗口中的RDD被一起同时处理,生成一个窗口DStream(windowed DStream),窗口操作需要设置两个参数:

(1)窗口长度(window length),即窗口的持续时间,上图中的窗口长度为3

(2)滑动间隔(sliding interval),窗口操作执行的时间间隔,上图中的滑动间隔为2

这两个参数必须是原始DStream 批处理间隔(batch interval)的整数倍(上图中的原始DStream的batch interval为1)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值