一. 报错
“org.apache.flink.table.api.validationexception: ‘scan.incremental.snapshot.chunk.key-column’ must be set when the table doesn’t have primary keys”
报错提示当表没有主键时,必须设置 ‘scan.incremental.snapshot.chunk.key-column’。
这里表没有主键,不是flink table中设置的primary key,而是物理表中没有主键。
二. 解决
如上述报错提示:在创建表的时候,为没有主键的表指定一个唯一的标识列作为’scan.incremental.snapshot.chunk.key-column’。如下文章来源:https://www.toymoban.com/news/detail-856139.html
为MY_TABLE表指定了id列作为’scan.incremental.snapshot.chunk.key-column’。这样就可以解决没有主键的表无法进行增量捕获的问题。文章来源地址https://www.toymoban.com/news/detail-856139.html
CREATE TABLE IF NOT EXISTS my_table (
id BIGINT,
name STRING,
age INT,
PRIMARY KEY (id) NOT ENFORCED
) WITH (
'connector' = 'mysql-cdc',
'hostname' = 'xxx',
'port' = '1521',
'username' = 'conn_uat',
'password' = 'xxxx',
'database-name' = 'CONN_UAT',
'schema-name' = 'strc',
'table-name' = 'MY_TABLE',
'scan.incremental.snapshot.chunk.key-column' = 'id'
);
到了这里,关于【flink报错】flink cdc无主键时的操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!