Class AbstractTopNFunction

    • Method Detail

      • open

        public void open​(OpenContext openContext)
                  throws Exception
        Description copied from interface: RichFunction
        Initialization method for the function. It is called before the actual working methods (like map or join) and thus suitable for one time setup work. For functions that are part of an iteration, this method will be invoked at the beginning of each iteration superstep.

        The openContext object passed to the function can be used for configuration and initialization. The openContext contains some necessary information that were configured on the function in the program composition.

        
         public class MyFilter extends RichFilterFunction<String> {
        
             private String searchString;
        
             public void open(OpenContext openContext) {
                 // initialize the value of searchString
             }
        
             public boolean filter(String value) {
                 return value.equals(searchString);
             }
         }
         
        Specified by:
        open in interface RichFunction
        Overrides:
        open in class AbstractRichFunction
        Parameters:
        openContext - The context containing information about the context in which the function is opened.
        Throws:
        Exception - Implementations may forward exceptions, which are caught by the runtime. When the runtime catches an exception, it aborts the task and lets the fail-over logic decide whether to retry the task execution.
      • getDefaultTopNSize

        protected long getDefaultTopNSize()
        Gets default topN size.
        Returns:
        default topN size
      • initRankEnd

        protected long initRankEnd​(RowData row)
                            throws Exception
        Initialize rank end.
        Parameters:
        row - input record
        Returns:
        rank end
        Throws:
        Exception
      • checkSortKeyInBufferRange

        protected boolean checkSortKeyInBufferRange​(RowData sortKey,
                                                    TopNBuffer buffer)
        Checks whether the record should be put into the buffer.
        Parameters:
        sortKey - sortKey to test
        buffer - buffer to add
        Returns:
        true if the record should be put into the buffer.
      • registerMetric

        protected void registerMetric​(long heapSize)
      • collectUpdateAfter

        protected void collectUpdateAfter​(Collector<RowData> out,
                                          RowData inputRow,
                                          long rank)
      • collectUpdateBefore

        protected void collectUpdateBefore​(Collector<RowData> out,
                                           RowData inputRow,
                                           long rank)
      • isInRankEnd

        protected boolean isInRankEnd​(long rank)
      • isInRankRange

        protected boolean isInRankRange​(long rank)
      • hasOffset

        protected boolean hasOffset()
      • setKeyContext

        public void setKeyContext​(KeyContext keyContext)
        Sets keyContext to RankFunction.
        Parameters:
        keyContext - keyContext of current function.