Class UDTFSelectK

  • All Implemented Interfaces:
    org.apache.iotdb.udf.api.UDF, org.apache.iotdb.udf.api.UDTF
    Direct Known Subclasses:
    UDTFBottomK, UDTFTopK

    public abstract class UDTFSelectK
    extends java.lang.Object
    implements org.apache.iotdb.udf.api.UDTF
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.apache.iotdb.tsfile.file.metadata.enums.TSDataType dataType  
      protected java.util.PriorityQueue<org.apache.iotdb.tsfile.utils.Pair<java.lang.Long,​java.lang.Double>> doublePQ  
      protected java.util.PriorityQueue<org.apache.iotdb.tsfile.utils.Pair<java.lang.Long,​java.lang.Float>> floatPQ  
      protected java.util.PriorityQueue<org.apache.iotdb.tsfile.utils.Pair<java.lang.Long,​java.lang.Integer>> intPQ  
      protected int k  
      protected java.util.PriorityQueue<org.apache.iotdb.tsfile.utils.Pair<java.lang.Long,​java.lang.Long>> longPQ  
      protected java.util.PriorityQueue<org.apache.iotdb.tsfile.utils.Pair<java.lang.Long,​java.lang.String>> stringPQ  
    • Constructor Summary

      Constructors 
      Constructor Description
      UDTFSelectK()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void beforeStart​(org.apache.iotdb.udf.api.customizer.parameter.UDFParameters parameters, org.apache.iotdb.udf.api.customizer.config.UDTFConfigurations configurations)  
      protected abstract void constructPQ()  
      void terminate​(org.apache.iotdb.udf.api.collector.PointCollector collector)  
      void transform​(org.apache.iotdb.udf.api.access.Row row, org.apache.iotdb.udf.api.collector.PointCollector collector)  
      protected abstract void transformDouble​(long time, double value)  
      protected abstract void transformFloat​(long time, float value)  
      protected abstract void transformInt​(long time, int value)  
      protected abstract void transformLong​(long time, long value)  
      protected abstract void transformString​(long time, java.lang.String value)  
      void validate​(org.apache.iotdb.udf.api.customizer.parameter.UDFParameterValidator validator)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.apache.iotdb.udf.api.UDF

        beforeDestroy
      • Methods inherited from interface org.apache.iotdb.udf.api.UDTF

        transform, transform
    • Field Detail

      • k

        protected int k
      • dataType

        protected org.apache.iotdb.tsfile.file.metadata.enums.TSDataType dataType
      • intPQ

        protected java.util.PriorityQueue<org.apache.iotdb.tsfile.utils.Pair<java.lang.Long,​java.lang.Integer>> intPQ
      • longPQ

        protected java.util.PriorityQueue<org.apache.iotdb.tsfile.utils.Pair<java.lang.Long,​java.lang.Long>> longPQ
      • floatPQ

        protected java.util.PriorityQueue<org.apache.iotdb.tsfile.utils.Pair<java.lang.Long,​java.lang.Float>> floatPQ
      • doublePQ

        protected java.util.PriorityQueue<org.apache.iotdb.tsfile.utils.Pair<java.lang.Long,​java.lang.Double>> doublePQ
      • stringPQ

        protected java.util.PriorityQueue<org.apache.iotdb.tsfile.utils.Pair<java.lang.Long,​java.lang.String>> stringPQ
    • Constructor Detail

      • UDTFSelectK

        public UDTFSelectK()
    • Method Detail

      • validate

        public void validate​(org.apache.iotdb.udf.api.customizer.parameter.UDFParameterValidator validator)
                      throws org.apache.iotdb.udf.api.exception.UDFException
        Specified by:
        validate in interface org.apache.iotdb.udf.api.UDF
        Throws:
        org.apache.iotdb.udf.api.exception.UDFException
      • beforeStart

        public void beforeStart​(org.apache.iotdb.udf.api.customizer.parameter.UDFParameters parameters,
                                org.apache.iotdb.udf.api.customizer.config.UDTFConfigurations configurations)
                         throws MetadataException,
                                org.apache.iotdb.udf.api.exception.UDFInputSeriesDataTypeNotValidException
        Specified by:
        beforeStart in interface org.apache.iotdb.udf.api.UDTF
        Throws:
        MetadataException
        org.apache.iotdb.udf.api.exception.UDFInputSeriesDataTypeNotValidException
      • constructPQ

        protected abstract void constructPQ()
                                     throws org.apache.iotdb.udf.api.exception.UDFInputSeriesDataTypeNotValidException
        Throws:
        org.apache.iotdb.udf.api.exception.UDFInputSeriesDataTypeNotValidException
      • transform

        public void transform​(org.apache.iotdb.udf.api.access.Row row,
                              org.apache.iotdb.udf.api.collector.PointCollector collector)
                       throws org.apache.iotdb.udf.api.exception.UDFInputSeriesDataTypeNotValidException,
                              java.io.IOException
        Specified by:
        transform in interface org.apache.iotdb.udf.api.UDTF
        Throws:
        org.apache.iotdb.udf.api.exception.UDFInputSeriesDataTypeNotValidException
        java.io.IOException
      • transformInt

        protected abstract void transformInt​(long time,
                                             int value)
      • transformLong

        protected abstract void transformLong​(long time,
                                              long value)
      • transformFloat

        protected abstract void transformFloat​(long time,
                                               float value)
      • transformDouble

        protected abstract void transformDouble​(long time,
                                                double value)
      • transformString

        protected abstract void transformString​(long time,
                                                java.lang.String value)
      • terminate

        public void terminate​(org.apache.iotdb.udf.api.collector.PointCollector collector)
                       throws org.apache.iotdb.udf.api.exception.UDFInputSeriesDataTypeNotValidException,
                              java.io.IOException
        Specified by:
        terminate in interface org.apache.iotdb.udf.api.UDTF
        Throws:
        org.apache.iotdb.udf.api.exception.UDFInputSeriesDataTypeNotValidException
        java.io.IOException