You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Dawid Wysakowicz (JIRA)" <ji...@apache.org> on 2019/07/05 16:24:00 UTC

[jira] [Closed] (FLINK-13081) Supports explain DAG plan

     [ https://issues.apache.org/jira/browse/FLINK-13081?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dawid Wysakowicz closed FLINK-13081.
------------------------------------
    Resolution: Fixed

Implemented in 14cda6ce2b0baf88bf228294fff3c9ee878bb559

> Supports explain DAG plan
> -------------------------
>
>                 Key: FLINK-13081
>                 URL: https://issues.apache.org/jira/browse/FLINK-13081
>             Project: Flink
>          Issue Type: New Feature
>          Components: Table SQL / Planner
>            Reporter: godfrey he
>            Assignee: godfrey he
>            Priority: Major
>
> in flink planner, a query will be optimized while calling {{TableEnvironment#insertInto}} or {{TableEnvironment#sqlUpdate}}. however, if a job has multiple sinks (means {{insertInto}} or {{sqlUpdate}} will be called multiple times), the final job contains several independent sub-graphs. In most cases, there is duplicate computing in a multiple sinks job. so in blink planner, multiple sinks queries will be optimized together to avoid duplicate computing. a query will not be optimized in {{insertInto}} and {{sqlUpdate}}. instead, queries will be optimized before executing.
> this issue aims to support above case.
> this issue only introduces {{explain}} method into {{TableEnvironment}}, {{execute}} method will be introduced in [FLINK-13088|https://issues.apache.org/jira/browse/FLINK-13088]
> {code:java}
> // explain multiple-sinks plan
> String explain(boolean extended);
> {code}
> to make sure the behavior of flink planner is same as before, a {{isLazyOptMode}} filed is added into {{EnvironmentSettings}}, which tells the table environment should optimize the query immediately in {{insertInto}}/{{sqlUpdate}} methods for flink planner({{isLazyOptMode}} is always false) or in execute method for blink planner({{isLazyOptMode}} is always true) .



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)