1、升级到1.13
2、能不能追上要看写入量到底有多大,以及下游的处理能力啊,就是mysql自己的主从复制也不一定能确保追上,实践就知道了。
3、可以设置一下default.parallism试试,如果发现被chain到一起了,可以把operator chain关掉试试。


在 2021-06-11 18:57:36,"casel.chen" <casel_c...@126.com> 写道:
>我的场景就是简单的数据同步,没有join也没有group by,从一个mysql库同步到另一个mysql库。
>上游写入数据速度很快,如果用flink sql同步的话默认只有一个并行度写,速度会跟不上,这种情况要怎么处理?
>用的是flink 1.12.1 其jdbc connector还不支持sink.parallism参数
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>在 2021-06-11 16:32:00,"东东" <dongdongking...@163.com> 写道:
>>
>>
>>
>>他这里列举的case是sink前发生了基于非pk的shuffle,比如说有join而且join条件不是主键,你的场景是怎样的呢?
>>
>>
>>
>>
>>另外,https://issues.apache.org/jira/browse/FLINK-20374 是sink到es,但es 
>>connector并不支持指定sink.parallelism,也就是说sink端的并行度必然为上游的并行度。而jdbc 
>>connector是可以指定sink.parallelism的,只要与上游的并行度不一致,runtime就会根据pk做hash 
>>shuffle,确保相同pk的记录发到同一个sink task。
>>
>>
>>在 2021-06-11 15:57:29,"casel.chen" <casel_c...@126.com> 写道:
>>>引用 Leonard Xu大佬之前的回答:
>>>
>>>> flink 1.13的jdbc connector新增 sink.parallism 
>>>> 参数,问题是如果增大并行度的话能否确保同一个主键记录发到同一个sink task呢?SQL正确的写法是什么?
>>>
>>>这个不仅在同步场景,在其他场景也需要注意 
>>>sink.parallism这个参数的使用,目前框架没有保证同一个pk的记录发送到同一个task,需要用户自己保证 sink 上定义的pk 
>>>和上游数据shuffle的key(比如 group key, join key)保持一致,
>>>否则可能导致数据乱序。 这个社区也在从 plan 推导上并解决,可以参考 
>>>https://issues.apache.org/jira/browse/FLINK-20374 
>>><https://issues.apache.org/jira/browse/FLINK-20374> 
>>>https://issues.apache.org/jira/browse/FLINK-22901 
>>><https://issues.apache.org/jira/browse/FLINK-22901> 
>>>
>>>说明加 sink.parallelism 是不行的
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>在 2021-06-11 15:44:51,"JasonLee" <17610775...@163.com> 写道:
>>>>hi
>>>>
>>>>sink 端可以通过 sink.parallelism 进行设置.
>>>>
>>>>
>>>>
>>>>-----
>>>>Best Wishes
>>>>JasonLee
>>>>--
>>>>Sent from: http://apache-flink.147419.n8.nabble.com/

回复