请问在 flink sql 中建立的多张表应当怎样分辨接收 kafka 传来的 canal-json?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

请问在 flink sql 中建立的多张表应当怎样分辨接收 kafka 传来的 canal-json?

LittleFall
这是我在 flink sql 中建立的两张表:
create table base (
    id int,
    location varchar(20)
)WITH (
    'connector' = 'kafka',
    'topic' = 'example',
    'properties.group.id' = 'testGroup',
    'scan.startup.mode' = 'latest-offset',
    'properties.bootstrap.servers' = 'localhost:9092',
    'format' = 'canal-json',
    'canal-json.ignore-parse-errors'='true'
);

create table twocol (
    a int,
    b varchar(20)
) -- WITH 部分和上面一样

此时我在 mysql 执行了以下插入:
insert into base values (1, 'beijing');

canal 通过 kafka 将日志传给了 flink,于是 flink 的 base 表里多了一条记录 (1, 'beijing'),然而
twocol 表里也多了一条 (null, null).

请问大家,有什么方法可以指定哪张表接收对应的 catalog 吗?如果不能的话,大家是怎样解决这样的问题的,谢谢!



--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: 请问在 flink sql 中建立的多张表应当怎样分辨接收 kafka 传来的 canal-json?

Leonard Xu
Hello
现在只支持一个topic里包含单张表的changelog, 你这个case相当于用了一个topic里包含多张表的changelog,只是twocol在解析binlog时 a,b 字段找不到,你配置ignore-parse-errors就会返回(null,null)
建议每张chagnelog表和一个topic对应就可以了

祝好
Leonard

> 在 2020年8月13日,19:55,LittleFall <[hidden email]> 写道:
>
> 这是我在 flink sql 中建立的两张表:
> create table base (
>    id int,
>    location varchar(20)
> )WITH (
>    'connector' = 'kafka',
>    'topic' = 'example',
>    'properties.group.id' = 'testGroup',
>    'scan.startup.mode' = 'latest-offset',
>    'properties.bootstrap.servers' = 'localhost:9092',
>    'format' = 'canal-json',
>    'canal-json.ignore-parse-errors'='true'
> );
>
> create table twocol (
>    a int,
>    b varchar(20)
> ) -- WITH 部分和上面一样
>
> 此时我在 mysql 执行了以下插入:
> insert into base values (1, 'beijing');
>
> canal 通过 kafka 将日志传给了 flink,于是 flink 的 base 表里多了一条记录 (1, 'beijing'),然而
> twocol 表里也多了一条 (null, null).
>
> 请问大家,有什么方法可以指定哪张表接收对应的 catalog 吗?如果不能的话,大家是怎样解决这样的问题的,谢谢!
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: 请问在 flink sql 中建立的多张表应当怎样分辨接收 kafka 传来的 canal-json?

LittleFall
谢谢,我明白了。

祝好



--
Sent from: http://apache-flink.147419.n8.nabble.com/