Class InputProperty
- java.lang.Object
-
- org.apache.flink.table.planner.plan.nodes.exec.InputProperty
-
@Internal public class InputProperty extends Object
TheInputProperty
describes the input information of theExecNode
.The input concept is not corresponding to the execution edge, but rather to the
Input
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
InputProperty.Builder
Builder of theInputProperty
.static class
InputProperty.DamBehavior
Enumeration which describes how an input record may trigger the output behavior of the targetExecNode
.static class
InputProperty.DistributionType
Enumeration which describes the type of the input data distribution.static class
InputProperty.HashDistribution
The input will read the records whose keys hash to a particular hash value.static class
InputProperty.KeepInputAsIsDistribution
A special distribution which indicators the data distribution is the same as its input. 'static class
InputProperty.RequiredDistribution
The required input data distribution for records when they are read in.
-
Field Summary
Fields Modifier and Type Field Description static InputProperty.RequiredDistribution
ANY_DISTRIBUTION
The input does not require any specific data distribution.static InputProperty.RequiredDistribution
BROADCAST_DISTRIBUTION
The input will read all records for each parallelism of the target node.static InputProperty
DEFAULT
static String
FIELD_NAME_DAM_BEHAVIOR
static String
FIELD_NAME_PRIORITY
static String
FIELD_NAME_REQUIRED_DISTRIBUTION
static InputProperty.RequiredDistribution
SINGLETON_DISTRIBUTION
The input will read all records, and the parallelism of the target node must be 1.static InputProperty.RequiredDistribution
UNKNOWN_DISTRIBUTION
Returns a place-holder required distribution.
-
Constructor Summary
Constructors Constructor Description InputProperty(InputProperty.RequiredDistribution requiredDistribution, InputProperty.DamBehavior damBehavior, int priority)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static InputProperty.Builder
builder()
boolean
equals(Object o)
InputProperty.DamBehavior
getDamBehavior()
int
getPriority()
InputProperty.RequiredDistribution
getRequiredDistribution()
int
hashCode()
static InputProperty.HashDistribution
hashDistribution(int[] keys)
The input will read the records whose keys hash to a particular hash value.static InputProperty.KeepInputAsIsDistribution
keepInputAsIsDistribution(InputProperty.RequiredDistribution inputDistribution, boolean strict)
A special distribution which indicators the data distribution is the same as its input.String
toString()
-
-
-
Field Detail
-
ANY_DISTRIBUTION
public static final InputProperty.RequiredDistribution ANY_DISTRIBUTION
The input does not require any specific data distribution.
-
BROADCAST_DISTRIBUTION
public static final InputProperty.RequiredDistribution BROADCAST_DISTRIBUTION
The input will read all records for each parallelism of the target node. All records appear in each parallelism.
-
SINGLETON_DISTRIBUTION
public static final InputProperty.RequiredDistribution SINGLETON_DISTRIBUTION
The input will read all records, and the parallelism of the target node must be 1.
-
UNKNOWN_DISTRIBUTION
public static final InputProperty.RequiredDistribution UNKNOWN_DISTRIBUTION
Returns a place-holder required distribution.Currently
InputProperty
is only used for deadlock breakup and multi-input in batch mode, so forExecNode
s not affecting the algorithm we use this place-holder.We should fill out the detailed
InputProperty
for each sub-class ofExecNode
in the future.
-
DEFAULT
public static final InputProperty DEFAULT
-
FIELD_NAME_REQUIRED_DISTRIBUTION
public static final String FIELD_NAME_REQUIRED_DISTRIBUTION
- See Also:
- Constant Field Values
-
FIELD_NAME_DAM_BEHAVIOR
public static final String FIELD_NAME_DAM_BEHAVIOR
- See Also:
- Constant Field Values
-
FIELD_NAME_PRIORITY
public static final String FIELD_NAME_PRIORITY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
InputProperty
public InputProperty(InputProperty.RequiredDistribution requiredDistribution, InputProperty.DamBehavior damBehavior, int priority)
-
-
Method Detail
-
getRequiredDistribution
public InputProperty.RequiredDistribution getRequiredDistribution()
-
getDamBehavior
public InputProperty.DamBehavior getDamBehavior()
-
getPriority
public int getPriority()
-
builder
public static InputProperty.Builder builder()
-
hashDistribution
public static InputProperty.HashDistribution hashDistribution(int[] keys)
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
-
-