问题一:这种情况 flink cdc3.0支持吗?
有4张表left join成一张表,每张表变化都要查其他几张表的历史数据,这种情况 flink cdc3.0支持吗?之前的2.x版本问过好像不支持。有关联的字段,但是主键不相同怎么做啊?另外字段不同的多张表合并成一张大宽表,如果相同的主键怎么做?
参考答案:
相同主键直接4个cdc ,不要join,需要找一个支持部分列更新的数据库按照pk写进去就行,然后再cdc这个打宽表。不同主键那不如直接写到,holo、doris,starorcks,直接join查,3.0支持整库同步后,一个任务就解决了数据传输和实时性。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/599204
问题二:Flink CDC里mongo cdc的配置都是什么含义呢?
Flink CDC里mongo cdc的配置 batch.size,poll.max.batch.size,poll.await.time.ms 都是什么含义呢?如果想降低cdc拉取数据的延时,是把这三个值都调小吗? https://github.com/ververica/flink-cdc-connectors/blob/master/docs/content/connectors/mongodb-cdc.md
参考了这个文档
参考答案:
在Flink CDC中,MongoDB的配置参数batch.size
, poll.max.batch.size
, 和 poll.await.time.ms
控制着从MongoDB拉取数据的方式。理解这些参数的含义可以帮助你调整它们以降低数据拉取延迟。
batch.size
: 这个参数定义了MongoDB游标每次返回的结果数量。默认值为1024。如果你想要降低数据拉取延迟,可以尝试减小这个值,这样每次从MongoDB获取的数据量就会减少,从而更快地处理和返回结果。poll.max.batch.size
: 这个参数定义了在轮询模式下,单个批次中包含的最大变更流文档数量。默认值为1024。同样,如果你想降低数据拉取延迟,可以尝试减小这个值,以便更快地处理和返回结果。poll.await.time.ms
: 这个参数定义了在轮询变更流时等待新结果的时间(以毫秒为单位)。默认值为1000(即1秒)。如果你想降低数据拉取延迟,可以尝试减小这个值,这样在轮询变更流时等待新结果的时间就会更短。
需要注意的是,虽然减小这些参数的值可能会降低数据拉取延迟,但也可能会影响吞吐量和资源使用情况。因此,在进行调整时,需要根据你的具体需求和系统性能来平衡这些因素。此外,确保你的MongoDB实例有足够的性能来处理这些请求,因为这也会对延迟产生影响。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/599203
问题三:Flink CDC里 rocksdb 全量checkpoint开启了ttl,为什么文件还会增大?
Flink CDC里 rocksdb 全量checkpoint开启了ttl,为什么checkpoint文件还持续增大 ?
参考答案:
当 RocksDB 全量 checkpoint 开启了 TTL(Time To Live)时,checkpoint 文件仍然可能会持续增大,原因可能包括但不限于:
- Checkpoint TTL 设置的是 checkpoint 在完成后的保留时间,在该时间段内所有 checkpoint 文件都会被保存,即使进行了新的 checkpoint,旧的文件也不会立即删除。
- RocksDB 内部的状态数据随着任务运行不断增长,即使开启了 TTL,新的 checkpoint 中包含的状态数据也可能会比之前的更大。
- 如果您的应用存在状态数据未被清理或者有持续增加的状态,则 checkpoint 大小不会因为 TTL 而减小。
要控制 checkpoint 文件大小的增长,请关注 Flink 应用的状态管理,确保不必要的状态得到清理,并合理设置 RocksDB 的内部选项以限制其状态大小。确认 checkpoint TTL 参数是否正确设置并在达到设定时间后检查点文件能否成功清理。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/599202
问题四:Flink cdc增量同步的时候,我可以设置ttl进行内存释放,那全量同步的时候怎么实现内存的释放?
Flink cdc增量同步的时候,我可以设置ttl进行内存释放,那全量同步的时候怎么实现内存的释放?我一次同步多张表。
参考答案:
对于全量同步时的内存释放问题,由于全量同步通常一次性加载大量数据,内存占用会相对较高。为缓解内存压力,您可以考虑以下策略:
- 分批次加载和处理数据
- 控制 parallelism,合理分配资源
- 使用恰当的数据结构和编码方式减少内存占用
- 如果 sink 是到外部存储系统,确保sink能够及时落盘,避免在内存中积累过多数据
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/599201
问题五:我在网上一些案例了解到 flink cdc 不支持源表结构变更同步到目标表,是这样的吗?
我在网上一些案例了解到 flink cdc 不支持源表结构变更同步到目标表,是这样的吗?我这边只是简单的同步mysql,源库一部分表同步到目标库mysql。
参考答案:
不支持。
关于本问题的更多回答可点击进行查看: