状态

当前批次的数据被存储起来,供给下一个批次的数据使用
image.png

状态算子

sparkStream的状态存储在是ck

UpStateByKeyTest

[K-V]类型
需要将之前状态的数据进行保存,需要设置ck目录(checkpoint),一般是hdfs路径,测试的话可以使用本地目录

image.png
如果当前批次为第一批次,那么option就为None()
image.png

image.png

开窗算子

image.png

image.png
image.png

reduceByKeyAndWindow

只要每设置ck都是无状态算子
image.png
image.png

所有窗口运算,都可以先开窗再运算

以上写法等价于:
所以,没有提供类似于reduceByKeyAndWindow方法的算子就自己先windows
image.png