Interface KeyedStateStoreV2

    • Method Detail

      • getValueState

        <T> ValueState<T> getValueState​(@Nonnull
                                        ValueStateDescriptor<T> stateProperties)
        Gets a handle to the system's ValueState. The key/value state is only accessible if the function is executed on a KeyedStream. On each access, the state exposes the value for the key of the element currently processed by the function. Each function may have multiple partitioned states, addressed with different names.

        Because the scope of each value is the key of the currently processed element, and the elements are distributed by the Flink runtime, the system can transparently scale out and redistribute the state and KeyedStream.

        Type Parameters:
        T - The type of value stored in the state.
        Parameters:
        stateProperties - The descriptor defining the properties of the state.
        Returns:
        The partitioned state object.
      • getListState

        <T> ListState<T> getListState​(@Nonnull
                                      ListStateDescriptor<T> stateProperties)
        Gets a handle to the system's key / value list state. This state is optimized for state that holds lists. One can adds elements to the list, or retrieve the list as a whole. This state is only accessible if the function is executed on a KeyedStream.
        Type Parameters:
        T - The type of value stored in the state.
        Parameters:
        stateProperties - The descriptor defining the properties of the state.
        Returns:
        The partitioned state object.
        Throws:
        UnsupportedOperationException - Thrown, if no partitioned state is available for the function (function is not part os a KeyedStream).
      • getMapState

        <UK,​UV> MapState<UK,​UV> getMapState​(@Nonnull
                                                        MapStateDescriptor<UK,​UV> stateProperties)
        Gets a handle to the system's key/value map state. This state is only accessible if the function is executed on a KeyedStream.
        Type Parameters:
        UK - The type of the user keys stored in the state.
        UV - The type of the user values stored in the state.
        Parameters:
        stateProperties - The descriptor defining the properties of the state.
        Returns:
        The partitioned state object.
        Throws:
        UnsupportedOperationException - Thrown, if no partitioned state is available for the function (function is not part of a KeyedStream).
      • getReducingState

        <T> ReducingState<T> getReducingState​(@Nonnull
                                              ReducingStateDescriptor<T> stateProperties)
        Gets a handle to the system's key/value reducing state. This state is optimized for state that aggregates values.

        This state is only accessible if the function is executed on a KeyedStream.

        Type Parameters:
        T - The type of value stored in the state.
        Parameters:
        stateProperties - The descriptor defining the properties of the stats.
        Returns:
        The partitioned state object.
        Throws:
        UnsupportedOperationException - Thrown, if no partitioned state is available for the function (function is not part of a KeyedStream).
      • getAggregatingState

        <IN,​ACC,​OUT> AggregatingState<IN,​OUT> getAggregatingState​(@Nonnull
                                                                                    AggregatingStateDescriptor<IN,​ACC,​OUT> stateProperties)
        Gets a handle to the system's key/value aggregating state. This state is only accessible if the function is executed on a KeyedStream.
        Type Parameters:
        IN - The type of the values that are added to the state.
        ACC - The type of the accumulator (intermediate aggregation state).
        OUT - The type of the values that are returned from the state.
        Parameters:
        stateProperties - The descriptor defining the properties of the stats.
        Returns:
        The partitioned state object.
        Throws:
        UnsupportedOperationException - Thrown, if no partitioned state is available for the function (function is not part of a KeyedStream).