一石激起千层浪:FlinkSQL Join维表和其他疑问的梳理

Flink SQL维表Join与Kafka/JDBC表操作:挑战、缓存与容错
本文探讨了在Flink开发中遇到的问题,如Kafka和JDBC创建的表JOIN及checkpoint失败。重点讲解了维表JOIN、TemporalJoins、LookupJoin、缓存机制、 UpsertKafka的使用及其参数理解,包括主键处理、容错设置和数据一致性。

开发的过程也是探索和学习的过程,一个问题可以揪出背后众多知识。回头想想,这些问题早在官网给出了答案。有时候会想,始终是一种由发现问题到寻求解决问题之路的一种驱动,而不是一种系统学习后把控全局地去实现或者开发。所以学习的某一种过程是与bug并行,与解决问题为驱动的一种学习方式。不管哪一种过程,都是你的成长与经验的积累。你觉得呢?可评论或者留言给我~~~

问题的发现

  1. Connector Kafka创建的表

  2. Connector jdbc创建的表

  3. 1表与2表 join 可以正常join,但是checkpoint失败

「Kafka创建的表」

 s"""
       |CREATE TABLE car(
       |`id`   bigint ,
       |`user_id` bigint 
       |)
       |WITH (
       |    'connector' = 'kafka',
       |    'topic' = '$topic',
       |    'scan.startup.mode' = 'latest-offset',
       |    'properties.bootstrap.servers' = '$KAFKA_SERVICE',
       |    'properties.group.id' = 'indicator',
       |    'format' = 'canal-json'
       |)
       |""".stripMargin

「Connector jdbc创建的表」

s"""
        |CREATE TABLE users(
        |id int,
        |name string,
        |PRIMARY KEY (id) NOT ENFORCED
        |)
        |WITH (
        |'connector' = 'jdbc',
        |'url' = 'xxxx',
        |'driver'='$DRIVER_CLASS_NAME',
        |'table-name'='$tableName',
        |'lookup.cache.max-rows'='100',
        |'lookup.cache.ttl'='30s'
        |)
        |""".stripMargin

「JOIN」

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值