开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC这个问题有没有哪位朋友解决过呀,该怎么处理呀?

Flink CDC这个问题有没有哪位朋友解决过呀,该怎么处理呀?org.apache.flink.table.api.validationexception: 'scan.incremental.snapshot.chunk.key-column' must be set when the table doesn't have primary keys%E3%80%82

展开
收起
真的很搞笑 2023-11-22 08:17:05 234 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    "scan.incremental.snapshot.chunk.key-column"是一个选项,当源表没有主键时必须设置,用于指定Flink在CDC过程中生成增量快照时应使用哪个列作为主键。根据上述错误消息,您似乎没有设置该选项。
    您可以尝试按照以下步骤解决:

    1. 在Flink SQL中创建表时指定扫描快照的关键列:
    CREATE TABLE my_table (
       ...
    ) WITH (
       ...
       'scan.incremental.snapshot.chunk.key-column' = 'your_key_column',
       ...
    )
    

    这里,your_key_column需要替换成您想用作主键的列。

    1. 如果没有适合的列作为主键,您还可以使用自定义函数来生成唯一的唯一标识。此时,您需要创建一个自定义的KeySelector类来生成唯一的ID,并将它应用于每一行数据。
    2023-11-29 14:18:08
    赞同 展开评论 打赏
  • 这个错误提示 "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'。

    解决这个问题的方法是在创建表的时候,为没有主键的表指定一个唯一的标识列作为'scan.incremental.snapshot.chunk.key-column'。例如:

    CREATE TABLE IF NOT EXISTS my_table (
    id BIGINT,
    name STRING,
    age INT,
    PRIMARY KEY (id) NOT ENFORCED
    ) WITH (
    'connector' = 'oracle-cdc',
    'hostname' = '192.168.252.107',
    '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'
    );
    

    在这个例子中,我们为my_table表指定了id列作为'scan.incremental.snapshot.chunk.key-column'。这样就可以解决没有主键的表无法进行增量捕获的问题。

    2023-11-29 14:00:23
    赞同 展开评论 打赏
  • 无pk表需要设置下报错里的参数,此回答整理自钉群“Flink CDC 社区”

    2023-11-22 11:41:17
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载