Class BatchExecHashAggregate
- java.lang.Object
-
- org.apache.flink.table.planner.plan.nodes.exec.ExecNodeBase<RowData>
-
- org.apache.flink.table.planner.plan.nodes.exec.batch.BatchExecHashAggregate
-
- All Implemented Interfaces:
BatchExecNode<RowData>
,ExecNode<RowData>
,ExecNodeTranslator<RowData>
,FusionCodegenExecNode
,SingleTransformationTranslator<RowData>
@ExecNodeMetadata(name="batch-exec-hash-aggregate", version=1, producedTransformations="hash-aggregate", consumedOptions={"table.exec.resource.hash-agg.memory","table.exec.sort.max-num-file-handles","table.exec.spill-compression.enabled","table.exec.spill-compression.block-size"}, minPlanVersion=v2_0, minStateVersion=v2_0) public class BatchExecHashAggregate extends ExecNodeBase<RowData> implements BatchExecNode<RowData>, SingleTransformationTranslator<RowData>
BatchExecNode
for hash-based aggregate operator.
-
-
Field Summary
Fields Modifier and Type Field Description static String
FIELD_NAME_AGG_CALLS
static String
FIELD_NAME_AGG_INPUT_ROW_TYPE
static String
FIELD_NAME_AUX_GROUPING
static String
FIELD_NAME_GROUPING
static String
FIELD_NAME_IS_FINAL
static String
FIELD_NAME_IS_MERGE
static String
FIELD_NAME_SUPPORT_ADAPTIVE_LOCAL_HASH_AGG
static String
HASH_AGGREGATE_TRANSFORMATION
-
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
Constructors Constructor Description BatchExecHashAggregate(int id, ExecNodeContext context, ReadableConfig persistedConfig, int[] grouping, int[] auxGrouping, org.apache.calcite.rel.core.AggregateCall[] aggCalls, RowType aggInputRowType, boolean isMerge, boolean isFinal, boolean supportAdaptiveLocalHashAgg, List<InputProperty> inputProperties, RowType outputType, String description)
BatchExecHashAggregate(ReadableConfig tableConfig, int[] grouping, int[] auxGrouping, org.apache.calcite.rel.core.AggregateCall[] aggCalls, RowType aggInputRowType, boolean isMerge, boolean isFinal, boolean supportAdaptiveLocalHashAgg, InputProperty inputProperty, RowType outputType, String description)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
supportFusionCodegen()
Whether this ExecNode supports OFCG or not.protected OpFusionCodegenSpecGenerator
translateToFusionCodegenSpecInternal(org.apache.flink.table.planner.delegation.PlannerBase planner, ExecNodeConfig config, org.apache.flink.table.planner.codegen.CodeGeneratorContext parentCtx)
Internal method, translates this node into a operator codegen spec generator.protected Transformation<RowData>
translateToPlanInternal(org.apache.flink.table.planner.delegation.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, translateToPlan
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.ExecNode
accept, getDescription, getId, getInputEdges, getInputProperties, getOutputType, replaceInputEdge, setCompiled, setInputEdges
-
Methods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.ExecNodeTranslator
translateToPlan
-
Methods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.FusionCodegenExecNode
translateToFusionCodegenSpec
-
-
-
-
Field Detail
-
HASH_AGGREGATE_TRANSFORMATION
public static final String HASH_AGGREGATE_TRANSFORMATION
- See Also:
- Constant Field Values
-
FIELD_NAME_GROUPING
public static final String FIELD_NAME_GROUPING
- See Also:
- Constant Field Values
-
FIELD_NAME_AUX_GROUPING
public static final String FIELD_NAME_AUX_GROUPING
- See Also:
- Constant Field Values
-
FIELD_NAME_AGG_CALLS
public static final String FIELD_NAME_AGG_CALLS
- See Also:
- Constant Field Values
-
FIELD_NAME_AGG_INPUT_ROW_TYPE
public static final String FIELD_NAME_AGG_INPUT_ROW_TYPE
- See Also:
- Constant Field Values
-
FIELD_NAME_IS_MERGE
public static final String FIELD_NAME_IS_MERGE
- See Also:
- Constant Field Values
-
FIELD_NAME_IS_FINAL
public static final String FIELD_NAME_IS_FINAL
- See Also:
- Constant Field Values
-
FIELD_NAME_SUPPORT_ADAPTIVE_LOCAL_HASH_AGG
public static final String FIELD_NAME_SUPPORT_ADAPTIVE_LOCAL_HASH_AGG
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BatchExecHashAggregate
public BatchExecHashAggregate(ReadableConfig tableConfig, int[] grouping, int[] auxGrouping, org.apache.calcite.rel.core.AggregateCall[] aggCalls, RowType aggInputRowType, boolean isMerge, boolean isFinal, boolean supportAdaptiveLocalHashAgg, InputProperty inputProperty, RowType outputType, String description)
-
BatchExecHashAggregate
public BatchExecHashAggregate(int id, ExecNodeContext context, ReadableConfig persistedConfig, int[] grouping, int[] auxGrouping, org.apache.calcite.rel.core.AggregateCall[] aggCalls, RowType aggInputRowType, boolean isMerge, boolean isFinal, boolean supportAdaptiveLocalHashAgg, List<InputProperty> inputProperties, RowType outputType, String description)
-
-
Method Detail
-
translateToPlanInternal
protected Transformation<RowData> translateToPlanInternal(org.apache.flink.table.planner.delegation.PlannerBase planner, ExecNodeConfig config)
Description copied from class:ExecNodeBase
Internal method, translates this node into a Flink operator.- Specified by:
translateToPlanInternal
in classExecNodeBase<RowData>
- Parameters:
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 theplanner
. For more details checkExecNodeConfig
.
-
supportFusionCodegen
public boolean supportFusionCodegen()
Description copied from interface:FusionCodegenExecNode
Whether this ExecNode supports OFCG or not.- Specified by:
supportFusionCodegen
in interfaceFusionCodegenExecNode
- Overrides:
supportFusionCodegen
in classExecNodeBase<RowData>
-
translateToFusionCodegenSpecInternal
protected OpFusionCodegenSpecGenerator translateToFusionCodegenSpecInternal(org.apache.flink.table.planner.delegation.PlannerBase planner, ExecNodeConfig config, org.apache.flink.table.planner.codegen.CodeGeneratorContext parentCtx)
Description copied from class:ExecNodeBase
Internal method, translates this node into a operator codegen spec generator.- Overrides:
translateToFusionCodegenSpecInternal
in classExecNodeBase<RowData>
- Parameters:
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 theplanner
. For more details checkExecNodeConfig
.
-
-