FlinkSQL sink 到 kafka partition 规则是怎样的?

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

FlinkSQL sink 到 kafka partition 规则是怎样的?

wanglei2@geekplus.com

直接用 FlinkSQL 实现抽取字段、字段转换的功能。

INSERT INTO kafka_dwd_table SELECT a, b, fun(c) FROM kafka_ods_table

kafka_dwd_table  topic 里面的 record 是客户端依照特定的 partition 规则发送过去的
经过 上面的 FlinkSQL 操作会怎样做 partition 呢?

谢谢,
王磊



[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: FlinkSQL sink 到 kafka partition 规则是怎样的?

china_tao
按我的理解,你描述错了吧,是kafka_ods_table里面的数据,是按照客户端自定义分区发送 过来的,接下来你希望处理完以后,还要保证kafka_dwd_table里面的数据,也需要保证数据按partition有序吧。因为你是把数据insert到kafka_dwd_table吧,你的描述有问题。

如果我理解的没有问题,那你看一下https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/connectors/kafka.html#sink-partitioner <https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/connectors/kafka.html#sink-partitioner>
,最关键的就是sink.partitioner这个参数的设置。




> 在 2020年8月18日,下午5:17,[hidden email] 写道:
>
>
> 直接用 FlinkSQL 实现抽取字段、字段转换的功能。
>
> INSERT INTO kafka_dwd_table SELECT a, b, fun(c) FROM kafka_ods_table
>
> kafka_dwd_table  topic 里面的 record 是客户端依照特定的 partition 规则发送过去的
> 经过 上面的 FlinkSQL 操作会怎样做 partition 呢?
>
> 谢谢,
> 王磊
>
>
>
> [hidden email]
>

Reply | Threaded
Open this post in threaded view
|

Re: FlinkSQL sink 到 kafka partition 规则是怎样的?

china_tao
In reply to this post by wanglei2@geekplus.com
按我的理解,你描述错了吧,是kafka_ods_table里面的数据,是按照客户端自定义分区发送
过来的,接下来你希望处理完以后,还要保证kafka_dwd_table里面的数据,也需要保证数据按partition有序吧。因为你是把数据insert到kafka_dwd_table吧,你的描述有问题。

如果我理解的没有问题,那你看一下https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/connectors/kafka.html#sink-partitioner
,最关键的就是sink.partitioner这个参数的设置。



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