请问 WATERMARK Event 是什么?有大佬可以展示一下 WATERMARK Event 长啥样吗?还有这个 WATERMARK Event 的业务意义是啥
Canal-JSON 协议本是为 MySQL 设计的,其中并不包含 TiDB 专有的 CommitTS 事务唯一标识等重要字段。为了解决这个问题,TiCDC 在 Canal-JSON 协议格式中附加了 TiDB 扩展字段。在 sink-uri
中设置 enable-tidb-extension
为 true
后,TiCDC 生成 Canal-JSON 消息时的行为如下:
- TiCDC 发送的 DML Event 和 DDL Event 类型消息中,将会含有一个名为
_tidb
的字段。
- TiCDC 将会发送 WATERMARK Event 消息。·
https://docs.pingcap.com/zh/tidb/v5.4/ticdc-canal-json#watermark-event
我消费了下,不知这个有啥业务的价值,等待大佬出现
{
"id": 0,
"database": "",
"table": "",
"pkNames": null,
"isDdl": false,
"type": "TIDB_WATERMARK",
"es": 1659085352032,
"ts": 1659085354502,
"sql": "",
"sqlType": null,
"mysqlType": null,
"data": null,
"old": null,
"_tidb": {
"watermarkTs": 434919270523076621
}
}
您好,Watermark Event 提供的 Watermark TS 字段主要用于流式计算中,为提高计算同步数据实时性提供一个功能。有一篇关于 Flink 支持 Watermark Event 的博客,可以研究一下。Flink最佳实践 - Watermark原理及实践问题解析_event time skew-CSDN博客
另外在使用实现方面,ticdc 也有一篇文档有助您了解 tiflow/docs/distributed-scheduling.md at 7e5026f844fbcaacd56df764591cb489ce53ecfb · pingcap/tiflow · GitHub
neilshen
(Neil Shen)
4
Watermark 用来处理消息的重复和乱序等异常情况。见回答 TiCDC事件的表级排序的问题 。
system
(system)
关闭
5
该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。