sparkStreaming转换算子

map

代码--》集群

nc--》端口 9000 (可以修改)

替换  字

flatmap 切分压平

filter 

repartition

union合并  【local【2】】 当只有两个的时候  只有一个分区  另一个处理数据集

count

reduce

************************

 

join  和  cogroup
用两个队列join 




transform

 *****************************************

以上算子都是无状态的 ............................................... 各处理各个

 

假如记录累加

DStream 的转化操作可以分为无状态(stateless)和有状态(stateful)两种。
• 在无状态转化操作中,每个批次的处理不依赖于之前批次的数据。常见
的 RDD 转化操作,例如 map()、filter()、reduceByKey() 等,都是无状态转
化操作。
• 相对地,有状态转化操作需要使用之前批次的数据或者是中间结果来计
算当前批次的数据。有状态转化操作包括基于滑动窗口的转化操作和追踪状态
变化的转化操作。 

 

 有状态转换操作

1.updateStateByKey 追踪状态变化

 

updateStateByKey

如下图:底层源码

 

  2.Window Operations 基于窗口

 批次时间  窗口大小  滑动频次

窗口大小批次时间的整数倍   多久滑动一次窗口 也是批次时间的整数倍

窗口分两种 

  滚动窗口  两个参数可以省掉  数据没有重叠

  滑动窗口   不能省掉  数据有重叠

 

 

 

 

 

 

posted @ 2019-08-16 14:12  lilixia  阅读(392)  评论(0编辑  收藏  举报