Flink 1.11+ 版本如何生成 Watermark
Posted @SmartSi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flink 1.11+ 版本如何生成 Watermark相关的知识,希望对你有一定的参考价值。
传送门:Flink 系统性学习笔记
Flink 1.11
在 Flink 1.11 版本之前,Flink 提供了两种生成 Watermark 的策略,分别是 AssignerWithPunctuatedWatermarks 和 AssignerWithPeriodicWatermarks,这两个接口都继承自 TimestampAssigner 接口。用户想使用不同的 Watermark 生成方式,则需要实现不同的接口。为了实现接口的统一,一个接口可以实现不同的 Watermark 生成策略,在 Flink 1.11 中对 Flink 的 Watermark 生成接口进行了重构:WatermarkStrategy。
Flink 1.10 版本之前如何生成 Watermark 具体可以参阅 Flink 1.10 版本之前如何生成 Watermark。
1. Watermark 生成策略 WatermarkStrategy
在 Flink 的 DataStream API 中,有一个单独用于生成 Watermark 的方法:assignTimestampsAndWatermarks,主要用来为流中的数据分配时间戳,并生成 Watermark 来指示事件时间:
以上是关于Flink 1.11+ 版本如何生成 Watermark的主要内容,如果未能解决你的问题,请参考以下文章
Flink SQL 1.11新功能详解:Hive 数仓实时化 & Flink SQL + CDC 实践
Apache-Flink 1.11 无法在 Java Flink Streamming Job 中通过 SQL Function DDL 使用 Python UDF