大数据
flink-28 按键分区状态
值状态 ValueState
value() 取出值状态里的数据
update(value) 更新值状态里的数据
clear() 清除值状态里的数据
状态描述器 ValueStateDescriptor
计算相邻两个水位的插值相差10的...
flink-27 状态管理
在flink中算子任务,可以分为无状态和有状态两种
无状态的算子任务只需要观察每个独立事件,根据当前输入的数据直接转换输出结果。之前讲到的基本转换算子map、filter、flatMap,计算时不依赖其他数据,都属于无状态的算子。
而有状态的算子任务...
flink-24 处理函数
Flink提供了8个不同的处理函数:
ProcessFunction
最基本的处理函数,基于DataStream直接调用.process()时作为参数传入
KeyedProcessFunction
对流按键分区后的处理函数,基于KeyedStrea...
flink-23 基于时间的合流 双流联结
窗口联结
固定时间内两条流数据的匹配情况
flink为基于一段时间的双流合并专门提供了一个窗口联结算子,可以定义时间窗口,并将两条流中共享一个公共键(key)的数据放在窗口中配对处理。
窗口联结的调用
窗口联结在代码中的实现,首先需要调用Data...
flink-21 时间语义 水位线
比如1月1日买的牛奶,但是喝牛奶是1月2日,也就是买牛奶的事件时间1月1日,喝牛奶的处理时间1月2日
事件时间
数据产生的时间
处理时间
数据真正被处理的时刻
flink1.12版本开始,flink已经将事件时间作为默认的时间语义了。
...
flink-19 窗口
窗口:将无限数据切割成有限的”数据块“进行处理
使用水桶接水的比喻,水桶就是窗口
在flink中,窗口其实并不是一个”框“,应该把窗口理解成一个”桶“,在flink中,窗口可以把流切割成有限大小的多个”存储桶“(bucket),每个数据都会分发到对应...