Class AsyncStateFastTop1Function

  • All Implemented Interfaces:
    Serializable, org.apache.flink.api.common.functions.Function, org.apache.flink.api.common.functions.RichFunction, org.apache.flink.streaming.api.checkpoint.CheckpointedFunction

    public class AsyncStateFastTop1Function
    extends AbstractAsyncStateTopNFunction
    implements org.apache.flink.streaming.api.checkpoint.CheckpointedFunction
    A more concise implementation for AppendOnlyTopNFunction and UpdatableTopNFunction when only Top-1 is desired. This function can handle updating stream because the RankProcessStrategy is inferred as UpdateFastStrategy, i.e., 1) the upsert key of input steam contains partition key; 2) the sort field is updated monotonely under the upsert key.

    Different with FastTop1Function, this function is used with async state api.

    See Also:
    Serialized Form
    • Constructor Detail

      • AsyncStateFastTop1Function

        public AsyncStateFastTop1Function​(org.apache.flink.api.common.state.StateTtlConfig ttlConfig,
                                          InternalTypeInfo<org.apache.flink.table.data.RowData> inputRowType,
                                          GeneratedRecordComparator generatedSortKeyComparator,
                                          RowDataKeySelector sortKeySelector,
                                          RankType rankType,
                                          RankRange rankRange,
                                          boolean generateUpdateBefore,
                                          boolean outputRankNumber,
                                          long cacheSize)
    • Method Detail

      • open

        public void open​(org.apache.flink.api.common.functions.OpenContext openContext)
                  throws Exception
        Specified by:
        open in interface org.apache.flink.api.common.functions.RichFunction
        Overrides:
        open in class AbstractAsyncStateTopNFunction
        Throws:
        Exception
      • processElement

        public void processElement​(org.apache.flink.table.data.RowData input,
                                   org.apache.flink.streaming.api.functions.KeyedProcessFunction.Context ctx,
                                   org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out)
                            throws Exception
        Specified by:
        processElement in class org.apache.flink.streaming.api.functions.KeyedProcessFunction<org.apache.flink.table.data.RowData,​org.apache.flink.table.data.RowData,​org.apache.flink.table.data.RowData>
        Throws:
        Exception
      • snapshotState

        public void snapshotState​(org.apache.flink.runtime.state.FunctionSnapshotContext context)
                           throws Exception
        Specified by:
        snapshotState in interface org.apache.flink.streaming.api.checkpoint.CheckpointedFunction
        Throws:
        Exception
      • initializeState

        public void initializeState​(org.apache.flink.runtime.state.FunctionInitializationContext context)
                             throws Exception
        Specified by:
        initializeState in interface org.apache.flink.streaming.api.checkpoint.CheckpointedFunction
        Throws:
        Exception