TiCDC 使用maxwell格式 将数据写入到kafka中 如何让json带有字段类型

【 TiDB 使用环境】生产环境 or 测试环境 or POC
【 TiDB 版本】v5.4.0
【遇到的问题】 TiCDC 使用maxwell格式 将数据写入到kafka中 消息不带有字段的类型,将时间字段datetime、timestamp在消息中装化成了字符串类型
【复现路径】做过哪些操作出现的问题
【问题现象及影响】由于消息中不带有字段类型 下游不好处理时间类型字段

【附件】

请提供各个组件的 version 信息,如 cdc/tikv,可通过执行 cdc version/tikv-server --version 获取。

canal-jsonopen-protocolcanalavromaxwell 5种协议中,好像除了开放协议,其他的都不可以。

1 个赞

canal-json 测试的时候 是带有 数据字段类型的;但是 时间类型的字段都被cdc转化成了字符串类型,这应该不太合理 有没有办法让他不转化成字符串类型 转化成long类型

目前没有类似功能,问题我们内部反馈一下

好像没有看到类似的说明

嗯,确实没有

另外,类似需求或建议,咱们可以去 开发者社区去讨论,我们相关的研发也在这个社区,会比较方便一些https://internals.tidb.io/

您好,请教一下,你使用 TiCDC 捕获的 delete 记录,里面是 “old” 还是 “data”

下面是我使用时观察到的的数据格式

TiCDC Maxwell

DELETE
{
   "database": "tffi",
   "table": "product",
   "type": "delete",
   "ts": 1660102097,
   "old": {
      "id": 1,
      "name": "scoot"
   }
}

Data Format - Maxwell’s Daemon (maxwells-daemon.io)

{
   "database":"test",
   "table":"e",
   "type":"delete",
   ...
   "data":{
      "id":1,
      "m":5.444,
      "c":"2016-10-21 05:33:54.631000",
      "comment":"I am a creature of light."
   }
}