Flink CDC 为何使用增量快照做全量数据加载的时候, 计算chunks的数量 那么耗时? 不是直接select count / 设置的chunk size 就得出chunks 然后每个chunk执行数据加载就可以了吗?
我一个上亿的大表光计算chunk数量就花了两天?
分片时要先获取表结构、分片键、分片键最大值、分片键最小值,估算表数量等信息,如果分片键是INT、BIGINT、DECIMAL类型的会先动态调整分片的大小,然后从最小值开始划分成[null, min + chunkSize]、按你说的那种方式划分。如果不分片键不是这种类型,每次要用SELECT FROM > ChunkStart Limt ChunkSize每次获取到分片的最大值
非数值类型的主键会扫描整表,均匀拆分数据。 数值类型主键 如果表里空洞太多,删除的数据太多,达到一个阈值,也会扫描整表均匀拆分数据
每次查询涉及到排序操作,没你想的这么简单,此回答整理自钉群“Flink CDC 社区”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。