Class InputProperty
java.lang.Object
org.apache.flink.table.planner.plan.nodes.exec.InputProperty
The
InputProperty describes the input information of the ExecNode.
The input concept is not corresponding to the execution edge, but rather to the Input.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBuilder of theInputProperty.static enumEnumeration which describes how an input record may trigger the output behavior of the targetExecNode.static enumEnumeration which describes the type of the input data distribution.static classThe input will read the records whose keys hash to a particular hash value.static classA special distribution which indicators the data distribution is the same as its input. 'static classThe required input data distribution for records when they are read in. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final InputProperty.RequiredDistributionThe input does not require any specific data distribution.static final InputProperty.RequiredDistributionThe input will read all records for each parallelism of the target node.static final InputPropertystatic final Stringstatic final Stringstatic final Stringstatic final InputProperty.RequiredDistributionThe input will read all records, and the parallelism of the target node must be 1.static final InputProperty.RequiredDistributionReturns a place-holder required distribution. -
Constructor Summary
ConstructorsConstructorDescriptionInputProperty(InputProperty.RequiredDistribution requiredDistribution, InputProperty.DamBehavior damBehavior, int priority) -
Method Summary
Modifier and TypeMethodDescriptionstatic InputProperty.Builderbuilder()booleanintinthashCode()hashDistribution(int[] keys) The input will read the records whose keys hash to a particular hash value.keepInputAsIsDistribution(InputProperty.RequiredDistribution inputDistribution, boolean strict) A special distribution which indicators the data distribution is the same as its input.toString()
-
Field Details
-
ANY_DISTRIBUTION
The input does not require any specific data distribution. -
BROADCAST_DISTRIBUTION
The input will read all records for each parallelism of the target node. All records appear in each parallelism. -
SINGLETON_DISTRIBUTION
The input will read all records, and the parallelism of the target node must be 1. -
UNKNOWN_DISTRIBUTION
Returns a place-holder required distribution.Currently
InputPropertyis only used for deadlock breakup and multi-input in batch mode, so forExecNodes not affecting the algorithm we use this place-holder.We should fill out the detailed
InputPropertyfor each sub-class ofExecNodein the future. -
DEFAULT
-
FIELD_NAME_REQUIRED_DISTRIBUTION
- See Also:
-
FIELD_NAME_DAM_BEHAVIOR
- See Also:
-
FIELD_NAME_PRIORITY
- See Also:
-
-
Constructor Details
-
InputProperty
public InputProperty(InputProperty.RequiredDistribution requiredDistribution, InputProperty.DamBehavior damBehavior, int priority)
-
-
Method Details
-
getRequiredDistribution
-
getDamBehavior
-
getPriority
public int getPriority() -
equals
-
hashCode
public int hashCode() -
toString
-
builder
-
hashDistribution
The input will read the records whose keys hash to a particular hash value.- Parameters:
keys- hash keys
-
keepInputAsIsDistribution
public static InputProperty.KeepInputAsIsDistribution keepInputAsIsDistribution(InputProperty.RequiredDistribution inputDistribution, boolean strict) A special distribution which indicators the data distribution is the same as its input.- Parameters:
inputDistribution- the input distributionstrict- whether the input distribution is strictly guaranteed
-