Re:Re: flink sql cdc数据同步至mysql

2021-06-12 文章 casel.chen
请问 flink sql cdc 场景下如何增大下游sink端并行度? 我试了修改default.parallism=2参数,并且将operator chain参数设置成false,并没有效果。 而后,我将作业分成两步:首先 源mysql cdc sink到 upsert kafka,再从 upsert kafka sink到 目标mysql。是想通过kafka partition增大sink并行度 初步测试效果是可以的,kafka建了3个partitions,每个partitions都按主键hash分配到数据,下游并行度跟partitions个数对齐。 以下是作业内容: --

Re:Re: flink sql cdc数据同步至mysql

2021-06-10 文章 casel.chen
针对现在flink sql cdc下游并行度无法修改问题,是否可以分两步实现?谢谢! 1. flink sql cdc发到下游kafka,通过 upsert kafka connector,以debezium或canal格式,kafka topic开多个分区 2. 再从kafka消费,通过flink sql同步到最终mysql库 在 2021-06-08 19:49:40,"Leonard Xu" 写道: >试着回答下这两个问题。 > >> flink 1.12的jdbc connector不支持 sink.parallism

Re: flink sql cdc数据同步至mysql

2021-06-08 文章 Leonard Xu
试着回答下这两个问题。 > flink 1.12的jdbc connector不支持 sink.parallism 参数,是不是说只能和上游cdc > connector保持相同的并行度1?如果是的话,下游sink会有瓶颈,因为表中存有大量的历史数据,将存量数据同步到目标表需要花费不少时间,而新的业务数据也源源不断进来,导致追不上。这要如何解决? 是的,关键问题是cdc connector为了保证数据一致性只能单并发,所以作业也只能单并发。这个需要cdc connector支持多并发读取,下游sink自然就能解决。 > flink 1.13的jdbc connector新增

flink sql cdc数据同步至mysql

2021-06-08 文章 casel.chen
flink 1.12的jdbc connector不支持 sink.parallism 参数,是不是说只能和上游cdc connector保持相同的并行度1?如果是的话,下游sink会有瓶颈,因为表中存有大量的历史数据,将存量数据同步到目标表需要花费不少时间,而新的业务数据也源源不断进来,导致追不上。这要如何解决? flink 1.13的jdbc connector新增 sink.parallism 参数,问题是如果增大并行度的话能否确保同一个主键记录发到同一个sink task呢?SQL正确的写法是什么?