Flink cdc + oblogproxy + ob系列问题咨询-03

【 测试环境】

【 OB 】

【 4.2.1】

【问题描述】

如何直接从flink cdc 拿到一个任务的事务ID

目前的 flink cdc oceanbase connector 并没有获取 clog 中的事务 id,所以在 flink 任务中也是获取不到的。

那有什么唯一标识的可以通过cdc下发吗 比如trace id之类的

clog 里是有事务 id 的,只是目前没有用到。如果你想用的话,可以改下源码加一点处理逻辑,对应的函数是 LogMessage.getOB10UniqueId。
flink cdc 里面目前是没办法使用某种唯一标识来确定某一条记录的。

这个我应该加在哪里 就可以返回了

我不确定你说的返回指的是什么,如果想作为virtual列输出,你可以在增量数据解析的逻辑中,把事务 id 放进 SourceInfo,然后参考 OceanBaseReadableMetadata 里的其他字段,加一个从 SourceInfo 读取事务 id 的枚举值。使用方法参考 https://ververica.github.io/flink-cdc-connectors/master/content/connectors/oceanbase-cdc(ZH).html#id4