从同一个source里select,在flink sql中用statement set 执行两条insert语句到不同的sink表即可

Jiabao Sun <jiabao....@xtransfer.cn.invalid> 于2023年12月29日周五 16:55写道:

> Hi,
>
> 使用 SQL 的话不太好实现写入多个路径,
> 使用 DataStream 的话可以考虑自己实现一个 RichSinkFunction。
>
> Best,
> Jiabao
>
> On 2023/12/29 08:37:34 jinzhuguang wrote:
> > Flink版本:1.16.0
> >
> > 看官网上的案例:
> > CREATE TABLE MyUserTable (
> >   column_name1 INT,
> >   column_name2 STRING,
> >   ...
> >   part_name1 INT,
> >   part_name2 STRING
> > ) PARTITIONED BY (part_name1, part_name2) WITH (
> >   'connector' = 'filesystem',           -- 必选:指定连接器类型
> >   'path' = 'file:///path/to/whatever',  -- 必选:指定路径
> >   'format' = '...',                     -- 必选:文件系统连接器指定 format
> >                                         -- 有关更多详情,请参考 Table Formats
> >   'partition.default-name' = '...',     -- 可选:默认的分区名,动态分区模式下分区字段值是 null
> 或空字符串
> >
> >   -- 可选:该属性开启了在 sink 阶段通过动态分区字段来 shuffle 数据,该功能可以大大减少文件系统 sink
> 的文件数,但是可能会导致数据倾斜,默认值是 false
> >   'sink.shuffle-by-partition.enable' = '...',
> >   ...
> > )
> > 目前只支持写入一个path,有没有大佬有过最佳实践,如何写入多个path。

回复