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 Jacob <17...@163.com> on 2021/01/06 06:11:48 UTC

Flink SQL 如何保证多个sql 语句按顺序执行

Dear All,在Flink SQL
job中,如果有多个sql语句,需要按顺序执行,即下一个sql的执行依赖上一个sql的执行结果。由于tableEnv.executeSql(sql)是*异步*提交的,那么如何保证多个sql是*顺序执行*?eg:在一个main函数中,有如下代码:String
sql1 = "";tableEnv.executeSql(sql1 );String sql2 =
"";tableEnv.executeSql(sql2 );问题:如何保证sql1先执行完成,再执行sql2



-----
Thanks!
Jacob
--
Sent from: http://apache-flink.147419.n8.nabble.com/

Re: Flink SQL 如何保证多个sql 语句按顺序执行

Posted by Jacob <17...@163.com>.
谢谢回复,

听起来是可以的
我先尝试一下这种方案



-----
Thanks!
Jacob
--
Sent from: http://apache-flink.147419.n8.nabble.com/

Re: Flink SQL 如何保证多个sql 语句按顺序执行

Posted by Sebastian Liu <li...@gmail.com>.
tableEnv.executeSql
会返回TableResult,可以从中获取JobClient,检查JobStatus,在Future中CallBack
写逻辑执行后续sql。不知道是否满足你的需求?

Jacob <17...@163.com> 于2021年1月6日周三 下午2:13写道:

> Dear All,在Flink SQL
>
> job中,如果有多个sql语句,需要按顺序执行,即下一个sql的执行依赖上一个sql的执行结果。由于tableEnv.executeSql(sql)是*异步*提交的,那么如何保证多个sql是*顺序执行*?eg:在一个main函数中,有如下代码:String
> sql1 = "";tableEnv.executeSql(sql1 );String sql2 =
> "";tableEnv.executeSql(sql2 );问题:如何保证sql1先执行完成,再执行sql2
>
>
>
> -----
> Thanks!
> Jacob
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/



-- 

*With kind regards
------------------------------------------------------------
Sebastian Liu 刘洋
Institute of Computing Technology, Chinese Academy of Science
Mobile\WeChat: +86—15201613655
E-mail: liuyang0704@gmail.com <li...@gmail.com>
QQ: 3239559*