做实时数仓,sql怎么保证分topic区有序

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

做实时数仓,sql怎么保证分topic区有序

air23
hi
就是我用
       flink sql 通过ddl读取和写入kafka怎么设置并行度呢?
       flink sql 通过ddl写入kafka怎么自定义分区呢?


这样才能保证提高消费能力。和保证数据有序。 但是好像没有发现再table模式 或者sql 语句上设置  或者做自定义分区。





 
Reply | Threaded
Open this post in threaded view
|

Re: 做实时数仓,sql怎么保证分topic区有序

shizk233
Hi air23,

sql似乎不支持相关的设置,可以通过env或配置文件设置所有蒜子的并行度。
你可以试试流转表,可以做到细粒度的控制。

Best,
shizk233

air23 <[hidden email]> 于2020年7月2日周四 下午6:40写道:

> hi
> 就是我用
>        flink sql 通过ddl读取和写入kafka怎么设置并行度呢?
>        flink sql 通过ddl写入kafka怎么自定义分区呢?
>
>
> 这样才能保证提高消费能力。和保证数据有序。 但是好像没有发现再table模式 或者sql 语句上设置  或者做自定义分区。
>
>
>
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: 做实时数仓,sql怎么保证分topic区有序

LakeShen
Hi air23,

  > flink sql 通过ddl读取和写入kafka怎么设置并行度呢?
 你可以为你的程序设置默认的并发度,代码或者命令行参数,配置文件都可以。

>  flink sql 通过ddl写入kafka怎么自定义分区呢?
kafka sink 自定义分区器:
https://ci.apache.org/projects/flink/flink-docs-stable/dev/table/connect.html#kafka-connector

将 'connector.sink-partitioner'设置为 'custom', 然后设置 '
connector.sink-partitioner-class'. Best,
LakeShen

shizk233 <[hidden email]> 于2020年7月2日周四 下午7:46写道:

> Hi air23,
>
> sql似乎不支持相关的设置,可以通过env或配置文件设置所有蒜子的并行度。
> 你可以试试流转表,可以做到细粒度的控制。
>
> Best,
> shizk233
>
> air23 <[hidden email]> 于2020年7月2日周四 下午6:40写道:
>
> > hi
> > 就是我用
> >        flink sql 通过ddl读取和写入kafka怎么设置并行度呢?
> >        flink sql 通过ddl写入kafka怎么自定义分区呢?
> >
> >
> > 这样才能保证提高消费能力。和保证数据有序。 但是好像没有发现再table模式 或者sql 语句上设置  或者做自定义分区。
> >
> >
> >
> >
> >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: 做实时数仓,sql怎么保证分topic区有序

admin
In reply to this post by air23
kafka默认分区有序,所以source的并发一般小于等于kafka的partition数,理想状态是1:1
sink的并发一般也是也是和输出topic相关,如果要保证有序,可以按key进行分区,
保证数据均匀可以自定义分区策略,比如roundrobin、shuffle等

> 2020年7月2日 下午6:39,air23 <[hidden email]> 写道:
>
> hi
> 就是我用
>       flink sql 通过ddl读取和写入kafka怎么设置并行度呢?
>       flink sql 通过ddl写入kafka怎么自定义分区呢?
>
>
> 这样才能保证提高消费能力。和保证数据有序。 但是好像没有发现再table模式 或者sql 语句上设置  或者做自定义分区。
>
>
>
>
>