Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Implemented
-
None
-
None
Description
This task implements the optimization of logical Table API plans with Apache Calcite. The input of the optimization process is a logical query plan consisting of Calcite RelNodes. FLINK-3223 translates Table API queries into this representation.
The result of this issue is an optimized logical plan.
Calcite's rule-based optimizer applies query rewriting and optimization rules. For Batch SQL, we can use (a subset of) Calcite’s default optimization rules.
For this issue we have to
- add the Calcite optimizer to the translation process
- select an appropriate set of batch optimization rules from Calcite’s default rules. We can reuse the rules selected by Timo’s first SQL implementation.