
开发的过程也是探索和学习的过程,一个问题可以揪出背后众多知识。回头想想,这些问题早在官网给出了答案。有时候会想,始终是一种由发现问题到寻求解决问题之路的一种驱动,而不是一种系统学习后把控全局地去实现或者开发。所以学习的某一种过程是与bug并行,与解决问题为驱动的一种学习方式。不管哪一种过程,都是你的成长与经验的积累。你觉得呢?可评论或者留言给我~~~
问题的发现
-
Connector Kafka创建的表
-
Connector jdbc创建的表
-
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」
Flink SQL维表Join与Kafka/JDBC表操作:挑战、缓存与容错

本文探讨了在Flink开发中遇到的问题,如Kafka和JDBC创建的表JOIN及checkpoint失败。重点讲解了维表JOIN、TemporalJoins、LookupJoin、缓存机制、 UpsertKafka的使用及其参数理解,包括主键处理、容错设置和数据一致性。
最低0.47元/天 解锁文章
2242






