目前还不支持,读取 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

On Fri, 27 Nov 2020 at 09:49, air23 <[email protected]> wrote:

> 你好 我这边有很多这种场景,把分库分表的binlog 写入到同一个topic 然后用canal-json解析,这边想获取到json里面的table
> 字段,
>
> 然后根据 table名称加主键 写入到下游 合成一张表,写入到下游表,
>
> 然后发现 canal-json 是获取不到表名的,然后这边去修改canal-json的format。
>
> 添加 createJsonRowType方法的DataTypes.FIELD("table", DataTypes.STRING())
>
> 然后在deserialize方法里面把 table字段set到 data里面去。但是发现这种好像是不成功的 ,请问下 有什么具体点的思路提供下吗,
>
> 谢谢大佬们

回复