好的,谢谢大家,之前也想过这个方案,复用/继承 JdbcDynamicTableSink 相关代码自定义 connector 。

Zhiwen Sun



On Fri, Oct 14, 2022 at 10:08 AM yidan zhao <hinobl...@gmail.com> wrote:

> 在一个自定义sink中实现先写database,再发消息。
>
> 或者2个都是自定义的,但是不能通过sink,因为sink后就没数据了。通过process,第一个process完成写入database后,后续process发送消息。
>
> Shuo Cheng <njucs...@gmail.com> 于2022年10月12日周三 16:59写道:
> >
> > Flink SQL 自身机制无法保证同一个作业多个 sink 的写入次序。 是否可以考虑从业务逻辑上动手脚,比如写入消息队列 sink 前加个
> udf
> > filter, udf 查询 database,满足条件才写入消息队列,当然这种方式对性能可能有影响。
> >
> > On Wed, Oct 12, 2022 at 2:41 PM Zhiwen Sun <pens...@gmail.com> wrote:
> >
> > > hi all:
> > >
> > > 我们有个场景,需要 Flink SQL 同时写入消息和 database, 后续实时任务消费消息,再次读取 database, 如果消息先于
> > > database 写入,这就可能导致读取的数据不正确。
> > >
> > > 是否有办法保证 database 写入后,再发送消息?
> > >
> > > Zhiwen Sun
> > >
>

回复