T - The type of the elements that result from this node.public abstract class ExecNodeBase<T> extends Object implements ExecNode<T>
ExecNode.FIELD_NAME_CONFIGURATION, FIELD_NAME_DESCRIPTION, FIELD_NAME_ID, FIELD_NAME_INPUT_PROPERTIES, FIELD_NAME_OUTPUT_TYPE, FIELD_NAME_TYPE| Modifier | Constructor and Description |
|---|---|
protected |
ExecNodeBase(int id,
ExecNodeContext context,
org.apache.flink.configuration.ReadableConfig persistedConfig,
List<InputProperty> inputProperties,
org.apache.flink.table.types.logical.LogicalType outputType,
String description) |
| Modifier and Type | Method and Description |
|---|---|
void |
accept(ExecNodeVisitor visitor)
Accepts a visit from a
ExecNodeVisitor. |
protected String |
createFormattedTransformationDescription(String description,
org.apache.flink.configuration.ReadableConfig config) |
protected String |
createFormattedTransformationName(String detailName,
String simplifiedName,
org.apache.flink.configuration.ReadableConfig config) |
protected String |
createTransformationDescription(org.apache.flink.configuration.ReadableConfig config) |
protected TransformationMetadata |
createTransformationMeta(String operatorName,
ExecNodeConfig config) |
protected TransformationMetadata |
createTransformationMeta(String operatorName,
String detailName,
String simplifiedName,
ExecNodeConfig config) |
protected String |
createTransformationName(org.apache.flink.configuration.ReadableConfig config) |
protected String |
createTransformationUid(String operatorName) |
protected ExecNodeContext |
getContextFromAnnotation()
Retrieves the default context from the
ExecNodeMetadata annotation to be serialized
into the JSON plan. |
String |
getDescription()
Returns a string which describes this node.
|
int |
getId()
The unique ID of the node.
|
List<ExecEdge> |
getInputEdges()
Returns a list of this node's input
ExecEdges. |
List<InputProperty> |
getInputProperties()
Returns a list of this node's input properties.
|
org.apache.flink.table.types.logical.LogicalType |
getOutputType()
Returns the output
LogicalType of this node, this type should be consistent with the
type parameter T. |
org.apache.flink.configuration.ReadableConfig |
getPersistedConfig() |
protected String |
getSimplifiedName() |
protected boolean |
inputsContainSingleton()
Whether singleton distribution is required.
|
void |
replaceInputEdge(int index,
ExecEdge newInputEdge)
Replaces the
ordinalInParentth input edge. |
void |
setCompiled(boolean compiled)
Declares whether the node has been created as part of a plan compilation.
|
void |
setInputEdges(List<ExecEdge> inputEdges)
Sets the input
ExecEdges which connect this nodes and its input nodes. |
org.apache.flink.api.dag.Transformation<T> |
translateToPlan(org.apache.flink.table.delegation.Planner planner)
Translates this node into a
Transformation. |
protected abstract org.apache.flink.api.dag.Transformation<T> |
translateToPlanInternal(org.apache.flink.table.planner.delegation.PlannerBase planner,
ExecNodeConfig config)
Internal method, translates this node into a Flink operator.
|
protected ExecNodeBase(int id,
ExecNodeContext context,
org.apache.flink.configuration.ReadableConfig persistedConfig,
List<InputProperty> inputProperties,
org.apache.flink.table.types.logical.LogicalType outputType,
String description)
protected final ExecNodeContext getContextFromAnnotation()
ExecNodeMetadata annotation to be serialized
into the JSON plan.public org.apache.flink.configuration.ReadableConfig getPersistedConfig()
public final int getId()
ExecNodepublic String getDescription()
ExecNodegetDescription in interface ExecNode<T>public org.apache.flink.table.types.logical.LogicalType getOutputType()
ExecNodeLogicalType of this node, this type should be consistent with the
type parameter T.
Such as, if T is RowData, the output type should be RowType. please refer
to the JavaDoc of RowData for more info about mapping of logical types to internal
data structures.
getOutputType in interface ExecNode<T>public List<InputProperty> getInputProperties()
ExecNodeNOTE: If there are no inputs, returns an empty list, not null.
getInputProperties in interface ExecNode<T>public List<ExecEdge> getInputEdges()
ExecNodeExecEdges.
NOTE: If there are no inputs, returns an empty list, not null.
getInputEdges in interface ExecNode<T>public void setInputEdges(List<ExecEdge> inputEdges)
ExecNodeExecEdges which connect this nodes and its input nodes.
NOTE: If there are no inputs, the given inputEdges should be empty, not null.
setInputEdges in interface ExecNode<T>inputEdges - the input ExecEdges.public void replaceInputEdge(int index,
ExecEdge newInputEdge)
ExecNodeordinalInParentth input edge.replaceInputEdge in interface ExecNode<T>index - Position of the child input edge, 0 is the first.newInputEdge - New edge that should be put at position `index`.public final org.apache.flink.api.dag.Transformation<T> translateToPlan(org.apache.flink.table.delegation.Planner planner)
ExecNodeTranslatorTransformation.
NOTE: This method should return same translate result if called multiple times.
translateToPlan in interface ExecNodeTranslator<T>planner - The Planner of the translated graph.public void accept(ExecNodeVisitor visitor)
ExecNodeExecNodeVisitor.public void setCompiled(boolean compiled)
ExecNodesetCompiled in interface ExecNode<T>protected abstract org.apache.flink.api.dag.Transformation<T> translateToPlanInternal(org.apache.flink.table.planner.delegation.PlannerBase planner, ExecNodeConfig config)
planner - The planner.config - per-ExecNode configuration that contains the merged configuration from
various layers which all the nodes implementing this method should use, instead of
retrieving configuration from the planner. For more details check ExecNodeConfig.protected boolean inputsContainSingleton()
protected String getSimplifiedName()
protected String createTransformationName(org.apache.flink.configuration.ReadableConfig config)
protected String createTransformationDescription(org.apache.flink.configuration.ReadableConfig config)
protected TransformationMetadata createTransformationMeta(String operatorName, ExecNodeConfig config)
protected TransformationMetadata createTransformationMeta(String operatorName, String detailName, String simplifiedName, ExecNodeConfig config)
protected String createFormattedTransformationDescription(String description, org.apache.flink.configuration.ReadableConfig config)
Copyright © 2014–2022 The Apache Software Foundation. All rights reserved.