apache-flink - 使用 Apache Flink 自定义水印
问题描述
我正在研究可以插入数据流的水印类型。
虽然这可能超出了水印的目的,但我还是会问。
你能创建一个包含时间戳和 k/v 对的水印(this=that, that=this)
吗?
因此水印将保持{12DEC180500GMT,this=that, that=this}
。
或者
{Timestamp, kvp1, kvp2, kvpN}
这样的事情可能吗?我已经查看了用户和 API 文档,但可能忽略了一些东西
解决方案
不,Flink 中的 Watermark 类(在 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;
所以水印除了时间戳之外不能携带任何信息,时间戳必须是长值。
推荐阅读
- debian - Snap 无法在 Debian Buster Crostini 上挂载它的 squashfs 映像
- c# - 在另一台计算机上启动程序时,在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误
- clang - 如何显示为 clang 调用计算的编译器标志?
- python - 使用数组或 1 行数据帧更快吗?
- c# - 获取用 C# 文本框编写的 Windows 窗体应用程序以输出您想要的文本
- node.js - 观看多个扩展并根据扩展运行不同的脚本
- ios - 在主 UI 更改时,如何防止插页式广告消失时崩溃?
- asp.net-core - .NET Core 32 位 (x86) 版本的 HTTP 错误 500.31 - ANCM 无法找到本机依赖项 此问题的常见解决方案 错误:
- javascript - 功能组件中的 extraData flatlist 道具?
- rust - 为什么 Rust 需要包和工作空间?