Class ForStAggregatingState<K,​N,​IN,​ACC,​OUT>

  • Type Parameters:
    K - type of key
    IN - type of input
    ACC - type of aggregate state
    OUT - type of output
    All Implemented Interfaces:
    org.apache.flink.api.common.state.v2.AggregatingState<IN,​OUT>, org.apache.flink.api.common.state.v2.AppendingState<IN,​OUT,​OUT>, org.apache.flink.api.common.state.v2.MergingState<IN,​OUT,​OUT>, org.apache.flink.api.common.state.v2.State, org.apache.flink.runtime.state.v2.internal.InternalAggregatingState<K,​N,​IN,​ACC,​OUT>, org.apache.flink.runtime.state.v2.internal.InternalAppendingState<K,​N,​IN,​ACC,​OUT,​OUT>, org.apache.flink.runtime.state.v2.internal.InternalKeyedState<K,​N,​ACC>, org.apache.flink.runtime.state.v2.internal.InternalMergingState<K,​N,​IN,​ACC,​OUT,​OUT>, org.apache.flink.runtime.state.v2.internal.InternalPartitionedState<N>, org.apache.flink.runtime.state.v2.internal.InternalStateAccessible<ACC>, ForStInnerTable<K,​N,​ACC>

    public class ForStAggregatingState<K,​N,​IN,​ACC,​OUT>
    extends org.apache.flink.runtime.state.v2.AbstractAggregatingState<K,​N,​IN,​ACC,​OUT>
    implements ForStInnerTable<K,​N,​ACC>
    The implementation of AggregatingState for ForStDB.
    • Field Summary

      • Fields inherited from class org.apache.flink.runtime.state.v2.AbstractAggregatingState

        aggregateFunction
      • Fields inherited from class org.apache.flink.runtime.state.v2.AbstractKeyedState

        stateRequestHandler
    • Constructor Summary

      Constructors 
      Constructor Description
      ForStAggregatingState​(org.apache.flink.api.common.functions.AggregateFunction<IN,​ACC,​OUT> aggregateFunction, org.apache.flink.api.common.typeutils.TypeSerializer<ACC> valueSerializer, org.apache.flink.runtime.asyncprocessing.StateRequestHandler stateRequestHandler, org.forstdb.ColumnFamilyHandle columnFamily, Supplier<org.apache.flink.runtime.state.SerializedCompositeKeyBuilder<K>> serializedKeyBuilderInitializer, N defaultNamespace, Supplier<org.apache.flink.api.common.typeutils.TypeSerializer<N>> namespaceSerializerInitializer, Supplier<org.apache.flink.core.memory.DataOutputSerializer> valueSerializerViewInitializer, Supplier<org.apache.flink.core.memory.DataInputDeserializer> valueDeserializerViewInitializer)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      ForStDBGetRequest<K,​N,​ACC,​?> buildDBGetRequest​(org.apache.flink.runtime.asyncprocessing.StateRequest<?,​?,​?,​?> stateRequest)
      Build a ForStDBGetRequest that belong to this ForStInnerTable with the given stateRequest.
      ForStDBPutRequest<?,​?,​?> buildDBPutRequest​(org.apache.flink.runtime.asyncprocessing.StateRequest<?,​?,​?,​?> stateRequest)
      Build a ForStDBPutRequest that belong to ForStInnerTable with the given stateRequest.
      ACC deserializeValue​(byte[] value)
      Deserialize the given bytes value to POJO value.
      org.forstdb.ColumnFamilyHandle getColumnFamilyHandle()
      Get the columnFamily handle corresponding to table.
      byte[] serializeKey​(ContextKey<K,​N> contextKey)
      Serialize the given key to bytes.
      byte[] serializeValue​(ACC value)
      Serialize the given value to the outputView.
      • Methods inherited from class org.apache.flink.runtime.state.v2.AbstractAggregatingState

        add, asyncAdd, asyncGet, asyncGetInternal, asyncMergeNamespaces, asyncUpdateInternal, get, getInternal, mergeNamespaces, updateInternal
      • Methods inherited from class org.apache.flink.runtime.state.v2.AbstractKeyedState

        asyncClear, clear, getStateRequestHandler, getValueSerializer, handleRequest, handleRequestSync, setCurrentNamespace
      • Methods inherited from interface org.apache.flink.runtime.state.v2.internal.InternalPartitionedState

        setCurrentNamespace
      • Methods inherited from interface org.apache.flink.api.common.state.v2.State

        asyncClear, clear
    • Constructor Detail

      • ForStAggregatingState

        public ForStAggregatingState​(org.apache.flink.api.common.functions.AggregateFunction<IN,​ACC,​OUT> aggregateFunction,
                                     org.apache.flink.api.common.typeutils.TypeSerializer<ACC> valueSerializer,
                                     org.apache.flink.runtime.asyncprocessing.StateRequestHandler stateRequestHandler,
                                     org.forstdb.ColumnFamilyHandle columnFamily,
                                     Supplier<org.apache.flink.runtime.state.SerializedCompositeKeyBuilder<K>> serializedKeyBuilderInitializer,
                                     N defaultNamespace,
                                     Supplier<org.apache.flink.api.common.typeutils.TypeSerializer<N>> namespaceSerializerInitializer,
                                     Supplier<org.apache.flink.core.memory.DataOutputSerializer> valueSerializerViewInitializer,
                                     Supplier<org.apache.flink.core.memory.DataInputDeserializer> valueDeserializerViewInitializer)
    • Method Detail

      • serializeKey

        public byte[] serializeKey​(ContextKey<K,​N> contextKey)
                            throws IOException
        Description copied from interface: ForStInnerTable
        Serialize the given key to bytes.
        Specified by:
        serializeKey in interface ForStInnerTable<K,​N,​IN>
        Parameters:
        contextKey - the key to be serialized.
        Returns:
        the key bytes
        Throws:
        IOException - Thrown if the serialization encountered an I/O related error.
      • serializeValue

        public byte[] serializeValue​(ACC value)
                              throws IOException
        Description copied from interface: ForStInnerTable
        Serialize the given value to the outputView.
        Specified by:
        serializeValue in interface ForStInnerTable<K,​N,​IN>
        Parameters:
        value - the value to be serialized.
        Returns:
        the value bytes
        Throws:
        IOException - Thrown if the serialization encountered an I/O related error.
      • deserializeValue

        public ACC deserializeValue​(byte[] value)
                             throws IOException
        Description copied from interface: ForStInnerTable
        Deserialize the given bytes value to POJO value.
        Specified by:
        deserializeValue in interface ForStInnerTable<K,​N,​IN>
        Parameters:
        value - the value bytes to be deserialized.
        Returns:
        the deserialized POJO value
        Throws:
        IOException - Thrown if the deserialization encountered an I/O related error.
      • buildDBGetRequest

        public ForStDBGetRequest<K,​N,​ACC,​?> buildDBGetRequest​(org.apache.flink.runtime.asyncprocessing.StateRequest<?,​?,​?,​?> stateRequest)
        Description copied from interface: ForStInnerTable
        Build a ForStDBGetRequest that belong to this ForStInnerTable with the given stateRequest.
        Specified by:
        buildDBGetRequest in interface ForStInnerTable<K,​N,​IN>
        Parameters:
        stateRequest - The given stateRequest.
        Returns:
        The corresponding ForSt GetRequest.
      • buildDBPutRequest

        public ForStDBPutRequest<?,​?,​?> buildDBPutRequest​(org.apache.flink.runtime.asyncprocessing.StateRequest<?,​?,​?,​?> stateRequest)
        Description copied from interface: ForStInnerTable
        Build a ForStDBPutRequest that belong to ForStInnerTable with the given stateRequest.
        Specified by:
        buildDBPutRequest in interface ForStInnerTable<K,​N,​IN>
        Parameters:
        stateRequest - The given stateRequest.
        Returns:
        The corresponding ForSt PutRequest.