Class BatchExecMultipleInput
java.lang.Object
org.apache.flink.table.planner.plan.nodes.exec.ExecNodeBase<org.apache.flink.table.data.RowData>
org.apache.flink.table.planner.plan.nodes.exec.batch.BatchExecMultipleInput
- All Implemented Interfaces:
BatchExecNode<org.apache.flink.table.data.RowData>,ExecNode<org.apache.flink.table.data.RowData>,ExecNodeTranslator<org.apache.flink.table.data.RowData>,FusionCodegenExecNode,SingleTransformationTranslator<org.apache.flink.table.data.RowData>
public class BatchExecMultipleInput
extends ExecNodeBase<org.apache.flink.table.data.RowData>
implements BatchExecNode<org.apache.flink.table.data.RowData>, SingleTransformationTranslator<org.apache.flink.table.data.RowData>
Batch
ExecNode for multiple input which contains a sub-graph of ExecNodes. The
root node of the sub-graph is rootNode, and the leaf nodes of the sub-graph are the
output nodes of the #getInputNodes().
The following example shows a graph of ExecNodes with multiple input node:
Sink
|
+---------+--------+
| | |
| Join |
| / \ | BatchExecMultipleInput
| Agg1 Agg2 |
| | | |
+----+-------+-----+
| |
Exchange1 Exchange2
| |
Scan1 Scan2
The multiple input node contains three nodes: `Join`, `Agg1` and `Agg2`. `Join` is the root
node (rootNode) of the sub-graph, `Agg1` and `Agg2` are the leaf nodes of the sub-graph,
`Exchange1` and `Exchange2` are the input nodes of the multiple input node.
-
Field Summary
Fields inherited from interface org.apache.flink.table.planner.plan.nodes.exec.ExecNode
FIELD_NAME_CONFIGURATION, FIELD_NAME_DESCRIPTION, FIELD_NAME_ID, FIELD_NAME_INPUT_PROPERTIES, FIELD_NAME_OUTPUT_TYPE, FIELD_NAME_STATE, FIELD_NAME_TYPE -
Constructor Summary
ConstructorsConstructorDescriptionBatchExecMultipleInput(org.apache.flink.configuration.ReadableConfig tableConfig, List<InputProperty> inputProperties, ExecNode<?> rootNode, List<ExecNode<?>> memberExecNodes, List<ExecEdge> originalEdges, String description) -
Method Summary
Modifier and TypeMethodDescriptionExecNode<?>protected org.apache.flink.api.dag.Transformation<org.apache.flink.table.data.RowData>translateToPlanInternal(PlannerBase planner, ExecNodeConfig config) Internal method, translates this node into a Flink operator.Methods inherited from class org.apache.flink.table.planner.plan.nodes.exec.ExecNodeBase
accept, createFormattedTransformationDescription, createFormattedTransformationName, createTransformationDescription, createTransformationMeta, createTransformationMeta, createTransformationName, createTransformationUid, getContextFromAnnotation, getDescription, getId, getInputEdges, getInputProperties, getOutputType, getPersistedConfig, getSimplifiedName, getTransformation, inputsContainSingleton, replaceInputEdge, setCompiled, setInputEdges, supportFusionCodegen, translateToFusionCodegenSpec, translateToFusionCodegenSpecInternal, translateToPlanMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.ExecNode
accept, getDescription, getId, getInputEdges, getInputProperties, getOutputType, replaceInputEdge, setCompiled, setInputEdgesMethods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.ExecNodeTranslator
translateToPlanMethods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.FusionCodegenExecNode
supportFusionCodegen, translateToFusionCodegenSpec
-
Constructor Details
-
BatchExecMultipleInput
-
-
Method Details
-
translateToPlanInternal
protected org.apache.flink.api.dag.Transformation<org.apache.flink.table.data.RowData> translateToPlanInternal(PlannerBase planner, ExecNodeConfig config) Description copied from class:ExecNodeBaseInternal method, translates this node into a Flink operator.- Specified by:
translateToPlanInternalin classExecNodeBase<org.apache.flink.table.data.RowData>- Parameters:
planner- The planner.config- per-ExecNodeconfiguration that contains the merged configuration from various layers which all the nodes implementing this method should use, instead of retrieving configuration from theplanner. For more details checkExecNodeConfig.
-
getOriginalEdges
-
getRootNode
-