使用oblogproxy + flink cdc 同步ob数据,出现重复的异常数据

版本说明:
oceanbase-ce:3.1.4
oblogproxy: oblogproxy-ce-for-3x-1.1.0-20221201191325
flink: 1.14.4
cdc connector: flink-sql-connector-oceanbase-cdc-2.3.0

相关说明:

  • 其中连接ob是通过obproxy连接的,ob集群中rootserver有3个。

  • ob是部署在ARM机器上的, oblogproxy因为目前没有arm版,所以部署在了x86_64的机器上

现象说明:

通过flink cdc的sql client查询数据的时候,同1条数据会出现3次,除主键外,其余字段多数展示为NULL。

具体现象如下图:


上图中理应只出现第一条数据,不会有第2、3条数据

flink cdc 用的是哪个版本?

flink-sql-connector-oceanbase-cdc-2.3.0

可以描述一下这条数据的情况吗,是历史数据还是启动 flink cdc 任务后新 insert 的数据?

另外,社区版 3.1.4 的话,推荐用 oblogproxy 的 1.0.3

是历史数据哈。我首先在flink sql client的shell窗口中建了表,然后执行了select * from xx, 结果发现报错:显示说topic_id有null的情况,然后任务就报错退出了。 所以,我就在flink sql client那里,执行了 select * from xx where topic_id = xx。 只查一条,然后就发现多出来了图中的两条为NULL的数据。

另外,老师,如果 推荐用 oblogproxy 1.0.3的话,那么flink-sql-connector-oceanbase-cdc的推荐版本呢?

flink-sql-connector-oceanbase-cdc 还是用最新的。

目前看你的描述,可能是读到了别的表的数据。你可以试试在 flink create table 的语句里指定库表名的时候用正则的精确匹配,或者改用 table-list 指定。

1 个赞

老师,换成table-list就好了,谢谢您