You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by 小学生 <20...@qq.com> on 2020/06/08 09:29:25 UTC
flink 任务并发顺序
各位大佬好,有一个问题需要咨询下:
当前我在一个flink执行文件中,对同一源流数据有不同的算子操作,例如:
1.table1.insert(‘sink_table’)
2.sink_table.insert(‘sink_table1’)
也就是说第二个算子依赖于第一个算子产生的结果,所以想咨询下,在flink中可设置流数据算子的执行顺序吗(当前我理解是flink会并发处理两个算子,先后性保证不了)?
回复: flink 任务并发顺序
Posted by 1048262223 <10...@qq.com>.
Hi
Flink 是这样的,从source到sink,所以按照你的描述来说应该是完全独立的两条流,两条流之间没有关系,如下:
source(source1) -> transform -> sink(sink1)
source(sink1) -> transform -> sink(sink2)
这两条流都会独立去消费数据源,从而形成两条独立的流。
Best,
Yichao Yang
------------------ 原始邮件 ------------------
发件人: "小学生"<201782053@qq.com>;
发送时间: 2020年6月8日(星期一) 下午5:52
收件人: "user-zh"<user-zh@flink.apache.org>;
主题: Re: flink 任务并发顺序
但是,我的两个insert都是同一个job提交的,测试发现数据流入两个insert_into是随机执行的。
Re: flink 任务并发顺序
Posted by 小学生 <20...@qq.com>.
但是,我的两个insert都是同一个job提交的,测试发现数据流入两个insert_into是随机执行的。
Re: flink 任务并发顺序
Posted by LakeShen <sh...@gmail.com>.
Hi,
Flink 任务运行时,本身就是一个 DAG 图,从 Source 出发,到 Sink 结束。
所以你所说的顺序,完全是按照你的业务逻辑来的。
Best,
LakeShen
Caizhi Weng <ts...@gmail.com> 于2020年6月8日周一 下午5:41写道:
> Hi,
>
> 不能设置这两个算子的执行顺序。流作业很可能是不会结束的,如果非要设定顺序的话可能另一个算子永远都不会执行。
>
> 不过如果已知是有限流的话,可以把这两个算子分成两个 job 提交,拿到 job client 以后用 job client 等待一个 job
> 的结束,再提交另一个 job。
>
> 小学生 <20...@qq.com> 于2020年6月8日周一 下午5:29写道:
>
> > 各位大佬好,有一个问题需要咨询下:
> > 当前我在一个flink执行文件中,对同一源流数据有不同的算子操作,例如:
> > 1.table1.insert(‘sink_table’)
> > 2.sink_table.insert(‘sink_table1’)
> >
> >
> 也就是说第二个算子依赖于第一个算子产生的结果,所以想咨询下,在flink中可设置流数据算子的执行顺序吗(当前我理解是flink会并发处理两个算子,先后性保证不了)?
>
Re: flink 任务并发顺序
Posted by Caizhi Weng <ts...@gmail.com>.
Hi,
不能设置这两个算子的执行顺序。流作业很可能是不会结束的,如果非要设定顺序的话可能另一个算子永远都不会执行。
不过如果已知是有限流的话,可以把这两个算子分成两个 job 提交,拿到 job client 以后用 job client 等待一个 job
的结束,再提交另一个 job。
小学生 <20...@qq.com> 于2020年6月8日周一 下午5:29写道:
> 各位大佬好,有一个问题需要咨询下:
> 当前我在一个flink执行文件中,对同一源流数据有不同的算子操作,例如:
> 1.table1.insert(‘sink_table’)
> 2.sink_table.insert(‘sink_table1’)
>
> 也就是说第二个算子依赖于第一个算子产生的结果,所以想咨询下,在flink中可设置流数据算子的执行顺序吗(当前我理解是flink会并发处理两个算子,先后性保证不了)?