Class UDTFM4

  • All Implemented Interfaces:
    org.apache.iotdb.udf.api.UDF, org.apache.iotdb.udf.api.UDTF

    public class UDTFM4
    extends java.lang.Object
    implements org.apache.iotdb.udf.api.UDTF
    For each sliding window, M4 returns the first, last, bottom, top points. The window can be controlled by either point size or time interval length. The aggregated points in the output series has been sorted and deduplicated.

    SlidingSizeWindow usage Example: "select M4(s1,'windowSize'='10','slidingStep'='10') from root.vehicle.d1" (windowSize is required, slidingStep is optional.)

    SlidingTimeWindow usage Example: "select M4(s1,'timeInterval'='25','slidingStep'='25','displayWindowBegin'='0','displayWindowEnd'='100') from root.vehicle.d1" (timeInterval is required, slidingStep/displayWindowBegin/displayWindowEnd are optional.)

    • Constructor Summary

      Constructors 
      Constructor Description
      UDTFM4()  
    • Method Summary

      All Methods Instance 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)  
      void transform​(org.apache.iotdb.udf.api.access.RowWindow rowWindow, org.apache.iotdb.udf.api.collector.PointCollector collector)  
      void transformDouble​(org.apache.iotdb.udf.api.access.RowWindow rowWindow, org.apache.iotdb.udf.api.collector.PointCollector collector)  
      void transformFloat​(org.apache.iotdb.udf.api.access.RowWindow rowWindow, org.apache.iotdb.udf.api.collector.PointCollector collector)  
      void transformInt​(org.apache.iotdb.udf.api.access.RowWindow rowWindow, org.apache.iotdb.udf.api.collector.PointCollector collector)  
      void transformLong​(org.apache.iotdb.udf.api.access.RowWindow rowWindow, org.apache.iotdb.udf.api.collector.PointCollector collector)  
      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

        terminate, transform, transform
    • Field Detail

      • accessStrategy

        protected org.apache.iotdb.commons.udf.builtin.UDTFM4.AccessStrategy accessStrategy
      • dataType

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

        public static final java.lang.String TIME_INTERVAL_KEY
        See Also:
        Constant Field Values
      • SLIDING_STEP_KEY

        public static final java.lang.String SLIDING_STEP_KEY
        See Also:
        Constant Field Values
      • DISPLAY_WINDOW_BEGIN_KEY

        public static final java.lang.String DISPLAY_WINDOW_BEGIN_KEY
        See Also:
        Constant Field Values
      • DISPLAY_WINDOW_END_KEY

        public static final java.lang.String DISPLAY_WINDOW_END_KEY
        See Also:
        Constant Field Values
    • Constructor Detail

      • UDTFM4

        public UDTFM4()
    • 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
        Specified by:
        beforeStart in interface org.apache.iotdb.udf.api.UDTF
        Throws:
        MetadataException
      • transform

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

        public void transformInt​(org.apache.iotdb.udf.api.access.RowWindow rowWindow,
                                 org.apache.iotdb.udf.api.collector.PointCollector collector)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • transformLong

        public void transformLong​(org.apache.iotdb.udf.api.access.RowWindow rowWindow,
                                  org.apache.iotdb.udf.api.collector.PointCollector collector)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • transformFloat

        public void transformFloat​(org.apache.iotdb.udf.api.access.RowWindow rowWindow,
                                   org.apache.iotdb.udf.api.collector.PointCollector collector)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • transformDouble

        public void transformDouble​(org.apache.iotdb.udf.api.access.RowWindow rowWindow,
                                    org.apache.iotdb.udf.api.collector.PointCollector collector)
                             throws java.io.IOException
        Throws:
        java.io.IOException