Class BatchExecHashJoin
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.BatchExecHashJoin
- All Implemented Interfaces:
AdaptiveJoinExecNode,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>
@ExecNodeMetadata(name="batch-exec-join",
version=1,
producedTransformations="join",
consumedOptions={"table.exec.resource.hash-join.memory","table.exec.resource.external-buffer-memory","table.exec.resource.sort.memory","table.exec.spill-compression.enabled","table.exec.spill-compression.block-size"},
minPlanVersion=v2_0,
minStateVersion=v2_0)
public class BatchExecHashJoin
extends ExecNodeBase<org.apache.flink.table.data.RowData>
implements BatchExecNode<org.apache.flink.table.data.RowData>, SingleTransformationTranslator<org.apache.flink.table.data.RowData>, AdaptiveJoinExecNode
BatchExecNode for Hash Join.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringFields 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
ConstructorsConstructorDescriptionBatchExecHashJoin(int id, ExecNodeContext context, org.apache.flink.configuration.ReadableConfig persistedConfig, JoinSpec joinSpec, int estimatedLeftAvgRowSize, int estimatedRightAvgRowSize, long estimatedLeftRowCount, long estimatedRightRowCount, boolean isBroadcast, boolean leftIsBuild, boolean tryDistinctBuildRow, List<InputProperty> inputProperties, org.apache.flink.table.types.logical.RowType outputType, String description, boolean withJobStrategyHint) BatchExecHashJoin(org.apache.flink.configuration.ReadableConfig tableConfig, JoinSpec joinSpec, int estimatedLeftAvgRowSize, int estimatedRightAvgRowSize, long estimatedLeftRowCount, long estimatedRightRowCount, boolean isBroadcast, boolean leftIsBuild, boolean tryDistinctBuildRow, InputProperty leftInputProperty, InputProperty rightInputProperty, org.apache.flink.table.types.logical.RowType outputType, boolean withJobStrategyHint, String description) -
Method Summary
Modifier and TypeMethodDescriptionbooleanCheck whether the join node can be transformed toBatchExecAdaptiveJoin.booleanWhether this ExecNode supports OFCG or not.Transform this node toBatchExecAdaptiveJoin.protected OpFusionCodegenSpecGeneratortranslateToFusionCodegenSpecInternal(PlannerBase planner, ExecNodeConfig config, CodeGeneratorContext parentCtx) Internal method, translates this node into a operator codegen spec generator.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, translateToFusionCodegenSpec, 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
translateToFusionCodegenSpec
-
Field Details
-
JOIN_TRANSFORMATION
- See Also:
-
FIELD_NAME_JOIN_SPEC
- See Also:
-
FIELD_NAME_IS_BROADCAST
- See Also:
-
FIELD_NAME_LEFT_IS_BUILD
- See Also:
-
FIELD_NAME_ESTIMATED_LEFT_AVG_ROW_SIZE
- See Also:
-
FIELD_NAME_ESTIMATED_RIGHT_AVG_ROW_SIZE
- See Also:
-
FIELD_NAME_ESTIMATED_LEFT_ROW_COUNT
- See Also:
-
FIELD_NAME_ESTIMATED_RIGHT_ROW_COUNT
- See Also:
-
FIELD_NAME_TRY_DISTINCT_BUILD_ROW
- See Also:
-
FIELD_NAME_WITH_JOIN_STRATEGY_HINT
- See Also:
-
-
Constructor Details
-
BatchExecHashJoin
public BatchExecHashJoin(org.apache.flink.configuration.ReadableConfig tableConfig, JoinSpec joinSpec, int estimatedLeftAvgRowSize, int estimatedRightAvgRowSize, long estimatedLeftRowCount, long estimatedRightRowCount, boolean isBroadcast, boolean leftIsBuild, boolean tryDistinctBuildRow, InputProperty leftInputProperty, InputProperty rightInputProperty, org.apache.flink.table.types.logical.RowType outputType, boolean withJobStrategyHint, String description) -
BatchExecHashJoin
public BatchExecHashJoin(int id, ExecNodeContext context, org.apache.flink.configuration.ReadableConfig persistedConfig, JoinSpec joinSpec, int estimatedLeftAvgRowSize, int estimatedRightAvgRowSize, long estimatedLeftRowCount, long estimatedRightRowCount, boolean isBroadcast, boolean leftIsBuild, boolean tryDistinctBuildRow, List<InputProperty> inputProperties, org.apache.flink.table.types.logical.RowType outputType, String description, boolean withJobStrategyHint)
-
-
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.
-
supportFusionCodegen
public boolean supportFusionCodegen()Description copied from interface:FusionCodegenExecNodeWhether this ExecNode supports OFCG or not.- Specified by:
supportFusionCodegenin interfaceFusionCodegenExecNode- Overrides:
supportFusionCodegenin classExecNodeBase<org.apache.flink.table.data.RowData>
-
translateToFusionCodegenSpecInternal
protected OpFusionCodegenSpecGenerator translateToFusionCodegenSpecInternal(PlannerBase planner, ExecNodeConfig config, CodeGeneratorContext parentCtx) Description copied from class:ExecNodeBaseInternal method, translates this node into a operator codegen spec generator.- Overrides:
translateToFusionCodegenSpecInternalin 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.
-
canBeTransformedToAdaptiveJoin
public boolean canBeTransformedToAdaptiveJoin()Description copied from interface:AdaptiveJoinExecNodeCheck whether the join node can be transformed toBatchExecAdaptiveJoin.- Specified by:
canBeTransformedToAdaptiveJoinin interfaceAdaptiveJoinExecNode
-
toAdaptiveJoinNode
Description copied from interface:AdaptiveJoinExecNodeTransform this node toBatchExecAdaptiveJoin.- Specified by:
toAdaptiveJoinNodein interfaceAdaptiveJoinExecNode
-