概述
在 Apache Flink 中,assignTimestampsAndWatermarks是一个重要的方法,它允许数据流处理程序根据事件时间(event time)分配时间戳和生成水印(watermarks)。这个方法通常用于处理来自不同时间源的数据,例如来自 IoT 设备的数据,这些数据可能具有不同的时间戳。
事件时间是指数据元素在源生成时的时间,而不是在处理时的时间(处理时间)或者数据到达时的时间(摄取时间)。为了正确地处理事件时间,Flink 需要知道每个元素的时间戳,并且需要了解事件时间的进度。这就是水印的作用:它们告诉 Flink 应用程序事件时间的进度,帮助它确定哪些元素已经被处理,并且哪些元素仍然在等待处理。
assignTimestampsAndWatermarks方法需要一个 WatermarkStrategy实例,该实例包含了一个 TimestampAssigner和一个 WatermarkGenerator。TimestampAssigner负责根据

