开发者社区> 问答> 正文

canal-json 分库分表场景应用有什么思路吗?

你好 我这边有很多这种场景,把分库分表的binlog 写入到同一个topic 然后用canal-json解析,这边想获取到json里面的table 字段,

然后根据 table名称加主键 写入到下游 合成一张表,写入到下游表,

然后发现 canal-json 是获取不到表名的,然后这边去修改canal-json的format。

添加 createJsonRowType方法的DataTypes.FIELD("table", DataTypes.STRING())

然后在deserialize方法里面把 table字段set到 data里面去。但是发现这种好像是不成功的 ,请问下 有什么具体点的思路提供下吗,

*来自志愿者整理的flink邮件归档

展开
收起
说了是一只鲳鱼 2021-12-06 11:45:34 645 0
1 条回答
写回答
取消 提交回答
  • 目前还不支持,读取 table 元信息。

    在 1.12 中,debezium-json 支持了这种功能,文档[1], 代码[2]。

    canal-json的话需要按照类似的方式支持下元信息读取。

    Best,

    Jark

    [1]:

    https://ci.apache.org/projects/flink/flink-docs-master/dev/table/connectors/formats/debezium.html#available-metadata

    [2]:

    https://github.com/apache/flink/blob/0a7c23cac26af49bce7c1f79fbf993c0a7f87835/flink-formats/flink-json/src/main/java/org/apache/flink/formats/json/debezium/DebeziumJsonDecodingFormat.java#L136

    *来自志愿者整理的flink邮件归档

    2021-12-06 14:12:11
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
HBase Rowkey设计要点 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载