godfrey he created FLINK-16363:
----------------------------------
Summary: Correct the execution behavior of TableEnvironment and StreamTableEnvironment
Key: FLINK-16363
URL:
https://issues.apache.org/jira/browse/FLINK-16363 Project: Flink
Issue Type: Sub-task
Components: Table SQL / API
Reporter: godfrey he
Fix For: 1.11.0
Both {{TableEnvironment.execute()}} and {{StreamExecutionEnvironment.execute}} can trigger a Flink table program execution. However if you use {{TableEnvironment}} to build a Flink table program, you must use {{TableEnvironment.execute()}} to trigger execution, because you can’t get the {{StreamExecutionEnvironment}} instance. If you use {{StreamTableEnvironment}} to build a Flink table program, you can use both to trigger execution. If you convert a table program to a {{DataStream}} program (using {{StreamExecutionEnvironment.toAppendStream/toRetractStream}}), you also can use both to trigger execution. So it’s hard to explain which `execute` method should be used.
To correct current messy trigger point, we propose that: for {{TableEnvironment}} and {{StreamTableEnvironment}}, you must use {{TableEnvironment.execute()}} to trigger table program execution, once you convert the table program to a {{DataStream}} program (through {{toAppendStream}} or {{toRetractStream}} method), you must use {{StreamExecutionEnvironment.execute}} to trigger the {{DataStream}} program.
please refer to [FLIP-84|
https://cwiki.apache.org/confluence/display/FLINK/FLIP-84%3A+Improve+%26+Refactor+API+of+TableEnvironment] for more detail.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)