Class FastTop1Function

  • 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 FastTop1Function
    extends AbstractTopNFunction
    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.
    See Also:
    Serialized Form
    • Constructor Detail

      • FastTop1Function

        public FastTop1Function​(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 AbstractTopNFunction
        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