问题一:Flink CDC在DataStream 可以用redis来缓存维表。有办法实现这个功能吗?
Flink CDC在DataStream 可以用redis来缓存维表。。。在flink sql中,有办法实现这个功能吗?Lookup Join 不知道怎么去用redis缓存,还有更新缓存?
参考答案:
那你可以设置过期时间,redis的ttl,然后再结合LRU缓存
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/577377
问题二:Flinkcdc如何指定表的隐藏列为主键啊?例如MySQL中的_rowid?
Flinkcdc如何指定表的隐藏列为主键啊?例如MySQL中的_rowid?
参考答案:
https://forums.mysql.com/read.php?61,368131,379277
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/577376
问题三:使用Flink CDC同步获取oracle11g的数据,初始化的时候有将表数据获取到,这怎么排查?
使用Flink CDC同步获取oracle11g的数据,初始化的时候有将表数据获取到,但是后面表数据变化了cdc没有获取到变化的数据,也没有报错啥的,这怎么排查?
参考答案:
如果使用 Flink CDC 同步获取 Oracle 11g 的数据,初始化时能够获取到表数据,但是后续表数据变化了 CDC 没有获取到变化的数据,也没有报错信息,可以尝试以下方法进行排查:
- 检查 Oracle 数据库中的 binlog 是否开启。在 Oracle 11g 中,需要确保 binlog 功能已经开启。可以通过以下 SQL 语句进行检查:
SELECT name, value FROM v$parameter WHERE name = 'log_bin';
- 如果返回结果为
OFF
,则需要修改参数文件并重启数据库以启用 binlog。 - 检查 Flink CDC 的消费者组是否正常运行。可以使用以下命令查看消费者组的状态:
kafka-consumer-groups --bootstrap-server <kafka-broker>:<port> --describe --group <consumer-group>
- 如果消费者组处于
Stable
状态,则说明消费者组正在正常运行。如果消费者组处于Dead
或Empty
状态,则需要检查消费者组的配置和日志以确定问题所在。 - 检查 Flink CDC 的源表配置是否正确。可以检查源表的 schema、主键等信息是否正确配置。同时,也可以检查源表的过滤条件是否正确设置,以避免不必要的消费延迟。
- 检查 Flink CDC 的水位线配置是否正确。水位线是用于控制消费者组消费速度的重要参数之一。如果水位线配置不正确,可能会导致消费者组无法及时消费到变化的数据。可以根据实际情况调整水位线的配置值。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/577375
问题四:Flink CDC这么多union。如果数据库删除数据,能正常把删除的同步过去吗?
Flink CDC这么多union。然后再和jdbc关联,如果数据库删除数据,能正常把删除的同步过去吗?
参考答案:
你这个完全可以分成两个任务 执行,没有看出来 有union的必要,delete 当然没问题。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/577374
问题五:Flink CDC里边不能两个cdc的监听union到同一个视图里边,然后一起做关联吗?
Flink CDC里边不能两个cdc的监听union到同一个视图里边,然后一起做关联吗?
参考答案:
可以是可以,但是状态会越来越大,直到ttl时间内的最大值
关于本问题的更多回答可点击进行查看: