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 基于窗口
批次时间 窗口大小 滑动频次
窗口大小批次时间的整数倍 多久滑动一次窗口 也是批次时间的整数倍
窗口分两种
滚动窗口 两个参数可以省掉 数据没有重叠
滑动窗口 不能省掉 数据有重叠