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 实践

Flink 1.11 日志文件该如何配置?

Flink SQL 1.11 流批一体 Hive 数仓

Apache-Flink 1.11 无法在 Java Flink Streamming Job 中通过 SQL Function DDL 使用 Python UDF

Flink-1.11开始提供了JDBC Sink

Flink 1.11 Unaligned Checkpoint 解析