Package org.apache.flink.state.api
Class OneInputStateTransformation<T>
java.lang.Object
org.apache.flink.state.api.OneInputStateTransformation<T>
- Type Parameters:
T- The type of the elements in this operator.
OneInputStateTransformation represents a user defined transformation applied on an OperatorTransformation with one input.-
Method Summary
Modifier and TypeMethodDescriptionKeyedStateTransformation<org.apache.flink.api.java.tuple.Tuple,T> keyBy(int... fields) Partitions the operator state of aOperatorTransformationby the given key positions.KeyedStateTransformation<org.apache.flink.api.java.tuple.Tuple,T> Partitions the operator state of aOperatorTransformationusing field expressions.<K> KeyedStateTransformation<K,T> It creates a newKeyedOperatorTransformationthat uses the provided key for partitioning its operator states.<K> KeyedStateTransformation<K,T> keyBy(org.apache.flink.api.java.functions.KeySelector<T, K> keySelector, org.apache.flink.api.common.typeinfo.TypeInformation<K> keyType) It creates a newKeyedOperatorTransformationthat uses the provided key with explicit type information for partitioning its operator states.setMaxParallelism(int maxParallelism) Sets the maximum parallelism of this operator.transform(BroadcastStateBootstrapFunction<T> processFunction) Applies the givenBroadcastStateBootstrapFunctionon the non-keyed input.transform(StateBootstrapFunction<T> processFunction) Applies the givenStateBootstrapFunctionon the non-keyed input.transform(SavepointWriterOperatorFactory factory) Method for passing user defined operators along with the type information that will transform the OperatorTransformation.
-
Method Details
-
setMaxParallelism
Sets the maximum parallelism of this operator.The maximum parallelism specifies the upper bound for dynamic scaling. It also defines the number of key groups used for partitioned state.
- Parameters:
maxParallelism- Maximum parallelism- Returns:
- The operator with set maximum parallelism
-
transform
Applies the givenStateBootstrapFunctionon the non-keyed input.The function will be called for every element in the input and can be used for writing operator state into a
Savepoint.- Parameters:
processFunction- TheStateBootstrapFunctionthat is called for each element.- Returns:
- An
OperatorTransformationthat can be added to aSavepoint.
-
transform
public StateBootstrapTransformation<T> transform(BroadcastStateBootstrapFunction<T> processFunction) Applies the givenBroadcastStateBootstrapFunctionon the non-keyed input.The function will be called for every element in the input and can be used for writing broadcast state into a
Savepoint.- Parameters:
processFunction- TheBroadcastStateBootstrapFunctionthat is called for each element.- Returns:
- An
StateBootstrapTransformationthat can be added to aSavepoint.
-
transform
Method for passing user defined operators along with the type information that will transform the OperatorTransformation.IMPORTANT: Any output from this operator will be discarded.
- Parameters:
factory- A factory returning transformation logic type of the return stream- Returns:
- An
StateBootstrapTransformationthat can be added to aSavepoint.
-
keyBy
public <K> KeyedStateTransformation<K,T> keyBy(org.apache.flink.api.java.functions.KeySelector<T, K> keySelector) It creates a newKeyedOperatorTransformationthat uses the provided key for partitioning its operator states.- Parameters:
keySelector- The KeySelector to be used for extracting the key for partitioning.- Returns:
- The
BootstrapTransformationwith partitioned state.
-
keyBy
public <K> KeyedStateTransformation<K,T> keyBy(org.apache.flink.api.java.functions.KeySelector<T, K> keySelector, org.apache.flink.api.common.typeinfo.TypeInformation<K> keyType) It creates a newKeyedOperatorTransformationthat uses the provided key with explicit type information for partitioning its operator states.- Parameters:
keySelector- The KeySelector to be used for extracting the key for partitioning.keyType- The type information describing the key type.- Returns:
- The
BootstrapTransformationwith partitioned state.
-
keyBy
Partitions the operator state of aOperatorTransformationby the given key positions.- Parameters:
fields- The position of the fields on which theOperatorTransformationwill be grouped.- Returns:
- The
OperatorTransformationwith partitioned state.
-
keyBy
Partitions the operator state of aOperatorTransformationusing field expressions. A field expression is either the name of a public field or a getter method with parentheses of theOperatorTransformation's underlying type. A dot can be used to drill down into objects, as in"field1.getInnerField2()".- Parameters:
fields- One or more field expressions on which the state of theOperatorTransformationoperators will be partitioned.- Returns:
- The
OperatorTransformationwith partitioned state (i.e. KeyedStream)
-