做不到,1.11里把 StreamExecutionEnvironment.execute 和
StreamTableEnvironment.execute 的逻辑已经切分干净了。
有个改动比较小的方案可以参考:可以在原来的逻辑的基础上,把两种提交job的方式放到两个不同的类中,其他的逻辑放到另外一个类共性。

sunfulin <sunfulin0...@163.com> 于2020年7月17日周五 下午2:00写道:

> hi,
> 补充一下,1.10版本的代码使用sqlUpdate +
> table2datastream,并通过StreamExecutionEnvironment.execute来提交。我回滚到1.10版本的代码后,因为我看1.11版本里如果使用sqlUpdate执行insertInto,必须使用StreamTableEnvironment.execute来提交。现在我的问题就是这个:我想通过一个job来提交。现在有机制可以做不?在1.11版本里执行。因为之前的job逻辑较为复杂,做拆分的话还有点麻烦。
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> 在 2020-07-17 13:55:21,"sunfulin" <sunfulin0...@163.com> 写道:
>
>
>
>
> hi,
> 感谢回复。这个机制我理解了。想了解下,有办法在1.11里仍然使用1.10版本的作业提交机制么?我现在虽然把代码回滚到1.10版本的逻辑,但是提交作业仍然有问题:比如我如果不执行env.execute,那么table
> to DataStream的语句不会生成拓扑。
>
>
>
>
>
>
>
>
>
>
>
> 在 2020-07-17 12:09:20,"godfrey he" <godfre...@gmail.com> 写道:
> >hi sunfulin,
> >目前这个做不到。executeSQL 和 table to DataStream 是分别优化和提交作业的。
> >即使在1.11 之前,table to DataStream 也不会和 sqlUpdate 或者 insertInto 的语句一起优化,
> >虽然只提交了一个job,但是是两个独立的pipeline,也没有计算复用,和两个job没啥差别。
> >
> >Best,
> >Godfrey
> >
> >Leonard Xu <xbjt...@gmail.com> 于2020年7月17日周五 上午12:12写道:
> >
> >> Hi,
> >>
> >> 我理解目前好像做不到, cc: godfrey 大佬看看
> >>
> >> 祝好,
> >> Leonard Xu
> >>
> >> > 在 2020年7月16日,23:08,sunfulin <sunfulin0...@163.com> 写道:
> >> >
> >> > hi,
> >> > 请教下flink 1.11任务提交的问题。如果我的一个作业里既有sql
> >> dml提交(executeSQL执行),又通过DataStream.addSink来写出,
> >> > 通过StreamExecutionEnvironment.execute提交,yarn
> >> per-job貌似会提交两个作业。这种情况下,我该如何处理呢?只想提交一个作业。
> >>
> >>
>
>
>
>
>
>

回复