[jira] [Created] (FLINK-20478) Show "Optimized Execution Plan" instead of "Physical Execution Plan" in explain result

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-20478) Show "Optimized Execution Plan" instead of "Physical Execution Plan" in explain result

Shang Yuanchun (Jira)
godfrey he created FLINK-20478:
----------------------------------

             Summary: Show "Optimized Execution Plan" instead of "Physical Execution Plan" in explain result
                 Key: FLINK-20478
                 URL: https://issues.apache.org/jira/browse/FLINK-20478
             Project: Flink
          Issue Type: Sub-task
          Components: Table SQL / Planner
            Reporter: godfrey he


Currently, the explain result includes "Abstract Syntax Tree", "Optimized Logical Plan" and "Physical Execution Plan". While the "Optimized Logical Plan" is an {{ExecNode}} graph, and the "[ExplainDetail|https://github.com/apache/flink/blob/master/flink-table/flink-table-api-java/src/main/java/org/apache/flink/table/api/ExplainDetail.java]" represents the expected explain details, including {{ESTIMATED_COST}} and {{CHANGELOG_MODE}} now. Those types can only used for Calicte {{RelNode}}s instead of {{ExecNode}}. So I suggest to make the following adjustments:
1. Keep "Abstract Syntax Tree" as it, which represents the original (un-optimized) {{RelNode}} graph converted from {{SqlNode}}.
2. Rename "Optimized Logical Plan" to "Optimized Physical Plan", which represents the optimized physical {{RelNode}} graph composed of {{FlinkPhysicalRel}}. {{ESTIMATED_COST}} and {{CHANGELOG_MODE}} describe the expected explain details for "Optimized Physical Plan".
3.Replace "Physical Execution Plan" with "Optimized Execution Plan", which represents the optimized {{ExecNode}} graph. Currently, many optimizations are based on {{ExecNode}} graph, such as sub-plan reuse, multiple input rewrite. We may introduce more optimizations in the future. So there are more and more difference between "Optimized Physical Plan" and "Optimized Execution Plan". We do not want to show tow execution plans, and "Physical Execution Plan" for {{StreamGraph}} is less important than "Optimized Execution Plan". If we want to introduce "Physical Execution Plan" in the future, we can add a type named "PHYSICAL_EXECUTION_PLAN" in {{ExplainDetail}} to support it. There is already an issue to do the similar things, [FLINK-19687|https://issues.apache.org/jira/browse/FLINK-19687]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)