1、window类型有哪些?
(1) TimeWindow
- Tumbling Window (滚动窗口)
- Sliding Window (滑动窗口)
- Session Window (会话窗口)
- Global Window (全局窗口)
(2) countWindow
(3) 自定义window
2、window function 窗口函数有哪些?
- window function 定义了要对窗口中收集的数据做到计算操作,
可分为两类:
-
增量聚合函数(incremental aggregation functions)
-
每条数据到来就进行计算,保持一个简单的状态
-
ReduceFunction, AggregateFunction
-
-
全窗口函数(full window functions)
-
先把窗口所有数据收集起来,等到计算的时候会遍历所有数据
-
ProcessWindowFunction
-
3、flink 的时间语义?
- Event Time:事件创建的时间
- Ingestion Time:数据进入Flink的时间
- Processing Time:执行操作算子的本地系统时间,与机器相关
4、乱序数据有什么影响?
- 当Flink 以Event Time模式处理数据流时,它会根据数据里的时间戳来处理基于时间的算子
- 由于网络、分布式等原因,会导致乱序数据的产生 乱序数据会让窗口计算不准确
5、什么是watermark?
- Watermark是一种衡量Event Time进展的机制,可以设定延迟触发
- Watermark是用于处理乱序事件的,而正确的处理乱序事件,通常用Watermark机制结合window来实现;
- 数据流中的Watermark用于表示timestamp小于Watermark的数据,都已经到达了,因此,window的执行也是由Watermark触发的。
- watermark用来让程序自己平衡延迟和结果正确性
6、watermark的特点?
- watermark是一条特殊的数据记录
- watermark必须单调递增,以确保任务的事件时间时钟在向前推进,而不是在后退
- watermark与数据的时间戳相关