在DDL中定义时生成新水印的策略



在https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table/streaming/time_attributes.html

事件时间属性和水印的DDL为:

CREATE TABLE user_actions (
user_name STRING,
data STRING,
user_action_time TIMESTAMP(3),
-- declare user_action_time as event time attribute and use 5 seconds delayed watermark strategy
WATERMARK FOR user_action_time AS user_action_time - INTERVAL '5' SECOND
) WITH (
...
);

我想问一下新水印生成的政策:

对于数据流,flink提供了以下两种水印生成策略,在ddl里呢?

  1. 像AssignerWithPeriodicWatermarks那样周期性地生成新水印
  2. 像AssignerWith标点Watermarks一样标点,也就是说,当新事件到来时,尝试生成新的水印

水印是定期分配的。您可以通过配置pipeline.auto-watermark-interval指定间隔。

还要注意的是,用于水印的API在DataStream API中发生了更改,您提到的两个类现在已弃用。

[1]https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/event_timestamps_watermarks.html#introduction-到水印策略

相关内容

  • 没有找到相关文章

最新更新