Interface Planner
- SQL parser via
getParser()- transforms a SQL string into a Table API specific objects e.g. tree ofOperations - relational planner - provides a way to plan, optimize and transform tree of
ModifyOperationinto a runnable form (Transformation)
The Planner is execution agnostic. It is up to the TableEnvironment to ensure that if any of the QueryOperation
pull any runtime configuration, all those configurations are equivalent. Example: If some of the
QueryOperations scan DataStreams, all those DataStreams must come from the same
StreamExecutionEnvironment, because the result of translate(List) will strip any
execution configuration from the DataStream information.
All Tables referenced in either Parser.parse(String) or translate(List) should be previously registered in a CatalogManager, which will be provided during instantiation of
the Planner.
-
Method Summary
Modifier and TypeMethodDescriptioncompilePlan(List<ModifyOperation> modifyOperations) explain(List<Operation> operations, ExplainFormat format, ExplainDetail... extraDetails) Returns the AST of the specified Table API and SQL queries and the execution plan to compute the result of the given collection ofQueryOperations.explainPlan(InternalPlan plan, ExplainDetail... extraDetails) Retrieves aParserthat provides methods for parsing a SQL string.loadPlan(PlanReference planReference) List<org.apache.flink.api.dag.Transformation<?>>translate(List<ModifyOperation> modifyOperations) Converts a relational tree ofModifyOperations into a set of runnableTransformations.List<org.apache.flink.api.dag.Transformation<?>>translatePlan(InternalPlan plan)
-
Method Details
-
getParser
Parser getParser()Retrieves aParserthat provides methods for parsing a SQL string.- Returns:
- initialized
Parser
-
translate
Converts a relational tree ofModifyOperations into a set of runnableTransformations.This method accepts a list of
ModifyOperations to allow reusing common subtrees of multiple relational queries. Each query's top node should be aModifyOperationin order to pass the expected properties of the outputTransformationsuch as output mode (append, retract, upsert) or the expected output type.- Parameters:
modifyOperations- list of relational operations to plan, optimize and convert in a single run.- Returns:
- list of corresponding
Transformations.
-
explain
Returns the AST of the specified Table API and SQL queries and the execution plan to compute the result of the given collection ofQueryOperations.- Parameters:
operations- The collection of relational queries for which the AST and execution plan will be returned.format- The output format of explained statement. See more details atExplainFormat.extraDetails- The extra explain details which the explain result should include, e.g. estimated cost, changelog mode for streaming, displaying execution plan in json format
-
loadPlan
- Throws:
IOException
-
compilePlan
-
translatePlan
-
explainPlan
-