Class OneInputStateTransformation<T>

java.lang.Object
org.apache.flink.state.api.OneInputStateTransformation<T>
Type Parameters:
T - The type of the elements in this operator.

@PublicEvolving public class OneInputStateTransformation<T> extends Object
OneInputStateTransformation represents a user defined transformation applied on an OperatorTransformation with one input.
  • Method Details

    • setMaxParallelism

      @PublicEvolving public OneInputStateTransformation<T> setMaxParallelism(int maxParallelism)
      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

      public StateBootstrapTransformation<T> transform(StateBootstrapFunction<T> processFunction)
      Applies the given StateBootstrapFunction on 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 - The StateBootstrapFunction that is called for each element.
      Returns:
      An OperatorTransformation that can be added to a Savepoint.
    • transform

      public StateBootstrapTransformation<T> transform(BroadcastStateBootstrapFunction<T> processFunction)
      Applies the given BroadcastStateBootstrapFunction on 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 - The BroadcastStateBootstrapFunction that is called for each element.
      Returns:
      An StateBootstrapTransformation that can be added to a Savepoint.
    • 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 StateBootstrapTransformation that can be added to a Savepoint.
    • keyBy

      public <K> KeyedStateTransformation<K,T> keyBy(org.apache.flink.api.java.functions.KeySelector<T,K> keySelector)
      It creates a new KeyedOperatorTransformation that uses the provided key for partitioning its operator states.
      Parameters:
      keySelector - The KeySelector to be used for extracting the key for partitioning.
      Returns:
      The BootstrapTransformation with 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 new KeyedOperatorTransformation that 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 BootstrapTransformation with partitioned state.
    • keyBy

      public KeyedStateTransformation<org.apache.flink.api.java.tuple.Tuple,T> keyBy(int... fields)
      Partitions the operator state of a OperatorTransformation by the given key positions.
      Parameters:
      fields - The position of the fields on which the OperatorTransformation will be grouped.
      Returns:
      The OperatorTransformation with partitioned state.
    • keyBy

      public KeyedStateTransformation<org.apache.flink.api.java.tuple.Tuple,T> keyBy(String... fields)
      Partitions the operator state of a OperatorTransformation using field expressions. A field expression is either the name of a public field or a getter method with parentheses of the OperatorTransformation'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 the OperatorTransformation operators will be partitioned.
      Returns:
      The OperatorTransformation with partitioned state (i.e. KeyedStream)