我正在研究可以插入数据流的水印类型。
虽然这可能超出了水印的目的,但我还是会问它。
您可以创建一个包含时间戳和 k/v 对(this=that, that=this)
的水印吗?
因此,水印将保持{12DEC180500GMT,this=that, that=this}
。
或
{Timestamp, kvp1, kvp2, kvpN}
这样的事情可能吗?我已经查看了用户和 API 文档,但可能忽略了一些东西
不,Flink 中的水印类 (位于 flink/flink-streaming/java/src/main/java/org/apache/flink/streaming/api/watermark/Watermark.java( 除了 MAX_WATERMARK 之外还有一个实例变量,即
/** The timestamp of the watermark in milliseconds. */
private final long timestamp;
因此,水印不能携带除时间戳之外的任何信息,时间戳必须是长值。