@Internal public interface Planner
getParser()
- transforms a SQL string into a Table API specific
objects e.g. tree of Operation
s
ModifyOperation
into 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
QueryOperation
s 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
.
Modifier and Type | Method and Description |
---|---|
InternalPlan |
compilePlan(List<ModifyOperation> modifyOperations) |
String |
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 of
QueryOperation s. |
String |
explainPlan(InternalPlan plan,
ExplainDetail... extraDetails) |
Parser |
getParser()
Retrieves a
Parser that provides methods for parsing a SQL string. |
InternalPlan |
loadPlan(PlanReference planReference) |
List<Transformation<?>> |
translate(List<ModifyOperation> modifyOperations)
Converts a relational tree of
ModifyOperation s into a set of runnable Transformation s. |
List<Transformation<?>> |
translatePlan(InternalPlan plan) |
Parser getParser()
Parser
that provides methods for parsing a SQL string.Parser
List<Transformation<?>> translate(List<ModifyOperation> modifyOperations)
ModifyOperation
s into a set of runnable Transformation
s.
This method accepts a list of ModifyOperation
s to allow reusing common subtrees of
multiple relational queries. Each query's top node should be a ModifyOperation
in
order to pass the expected properties of the output Transformation
such as output
mode (append, retract, upsert) or the expected output type.
modifyOperations
- list of relational operations to plan, optimize and convert in a
single run.Transformation
s.String explain(List<Operation> operations, ExplainFormat format, ExplainDetail... extraDetails)
QueryOperation
s.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 at ExplainFormat
.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@Experimental InternalPlan loadPlan(PlanReference planReference) throws IOException
IOException
@Experimental InternalPlan compilePlan(List<ModifyOperation> modifyOperations)
@Experimental List<Transformation<?>> translatePlan(InternalPlan plan)
@Experimental String explainPlan(InternalPlan plan, ExplainDetail... extraDetails)
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.