Interface AdaptiveJoin
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
AdaptiveJoinOperatorFactory
Interface for implementing an adaptive join operator.
-
Method Summary
Modifier and TypeMethodDescriptionorg.apache.flink.streaming.api.operators.StreamOperatorFactory<?>genOperatorFactory(ClassLoader classLoader, org.apache.flink.configuration.ReadableConfig config) Generates a StreamOperatorFactory for this join operator using the provided ClassLoader and config.Get the join type of the join operator.voidmarkAsBroadcastJoin(boolean canBeBroadcast, boolean leftIsBuild) Determine whether the adaptive join operator can be optimized as broadcast hash join and decide which input side is the build side or a smaller side.booleanCheck if the adaptive join node needs to adjust the read order of the input sides.
-
Method Details
-
genOperatorFactory
org.apache.flink.streaming.api.operators.StreamOperatorFactory<?> genOperatorFactory(ClassLoader classLoader, org.apache.flink.configuration.ReadableConfig config) Generates a StreamOperatorFactory for this join operator using the provided ClassLoader and config.- Parameters:
classLoader- the ClassLoader to be used for loading classes.config- the configuration to be applied for creating the operator factory.- Returns:
- a StreamOperatorFactory instance.
-
getJoinType
FlinkJoinType getJoinType()Get the join type of the join operator.- Returns:
- the join type.
-
markAsBroadcastJoin
void markAsBroadcastJoin(boolean canBeBroadcast, boolean leftIsBuild) Determine whether the adaptive join operator can be optimized as broadcast hash join and decide which input side is the build side or a smaller side.- Parameters:
canBeBroadcast- whether the join operator can be optimized to broadcast hash join.leftIsBuild- whether the left input side is the build side.
-
shouldReorderInputs
boolean shouldReorderInputs()Check if the adaptive join node needs to adjust the read order of the input sides. For the hash join operator, it is necessary to ensure that the build side is read first.- Returns:
- whether the inputs should be reordered.
-