flinksql 输出到kafka用的fixed的方式 结果都输出到一个topic分区了,这个是什么原因

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

flinksql 输出到kafka用的fixed的方式 结果都输出到一个topic分区了,这个是什么原因

leiyanrui
Reply | Threaded
Open this post in threaded view
|

Re:flinksql 输出到kafka用的fixed的方式 结果都输出到一个topic分区了,这个是什么原因

hailongwang
Hi leiyanrui,


   当 sink 的并发 小于 kafka partition 个数,同时 sink 并发只有一个时,FixPartitioner 会导致只会往一个分区发数据。
详见 FixPartitioner[1] 的实现,其中 `parallelInstanceId` 表示 subtask 的 编号,从0开始;`partitions.length` 表示该 topic 的分区个数,
最后返回该 subtask 应该往哪个分区发数据。


[1] https://github.com/apache/flink/blob/d00941c77170b233c9fe599c7fb0003778eb3299/flink-connectors/flink-connector-kafka/src/main/java/org/apache/flink/streaming/connectors/kafka/partitioner/FlinkFixedPartitioner.java#L75


Best,
hailong

At 2020-11-10 20:45:59, "leiyanrui" <[hidden email]> wrote:
>
>
>
>
>--
>Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: Re:flinksql 输出到kafka用的fixed的方式 结果都输出到一个topic分区了,这个是什么原因

leiyanrui
我的topic分区数是10个,sink的并发是25个 ,按照取余计算的话 也不应该只输出到一个partition的



--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re:Re: Re:flinksql 输出到kafka用的fixed的方式 结果都输出到一个topic分区了,这个是什么原因

马阳阳



这个1.11.0和1.11.1的bug,已经在1.11.2里修复了,可以看下[1]这个issue

[1] https://issues.apache.org/jira/browse/FLINK-19285?jql=project%20%3D%20FLINK%20AND%20text%20~%20%22kafka%20partitioner%22














在 2020-11-10 22:26:09,"leiyanrui" <[hidden email]> 写道:
>我的topic分区数是10个,sink的并发是25个 ,按照取余计算的话 也不应该只输出到一个partition的
>
>
>
>--
>Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: Re:Re: Re:flinksql 输出到kafka用的fixed的方式 结果都输出到一个topic分区了,这个是什么原因

leiyanrui
好的 谢谢哈



--
Sent from: http://apache-flink.147419.n8.nabble.com/