datastream
1 转换算子 Transformation
function分类:普通的,rich
怎么写function:
- 自定义
- 匿名类
- lambda表达式
1 | package com.atguigu.chapter05; |
max maxby 区别
1 | DataStreamSource<Event> stream = env.fromElements( |
2 窗口
1 简介
窗口[0-10)中有11,12,但是11,12并不在窗口[0-10)处理,而是在对应的窗口[10,20)处理
2 窗口的分类
- 按照驱动类型分类
(1)时间窗口 Time Window
(2)计数窗口 Count Window
- 按照窗口分配数据的规则分类
(1)滚动窗口 Tumbling Windows
(2)滑动窗口 Sliding Windows
(3)会话窗口 Session Windows
(4)全局窗口 Global Windows
3 使用
4 迟到数据的处理
窗口中 的迟到数据默认会被丢弃,这导致计算结果不够准确
1 设置水位线延迟时间
1 | assignTimestampsAndWatermarks(WatermarkStrategy.<Event>forBoundedOutOfOrderness(Duration.ofSeconds(2)) |
2 允许窗口处理迟到数据
1 | .allowedLateness(Time.minutes(1)) |
3 将迟到数据放入侧输出流
收集关窗之后的迟到数据,然后手动处理
1 | .sideOutputLateData(outputTag) |