Updated on 2024-04-02 GMT+08:00

IoTDB UDF Sample Code

Description

This section describes how to implement a simple IoTDB user-defined function (UDF). For details, see section UDF Sample Code and Operations.

Sample Code

package com.huawei.bigdata.iotdb;
import org.apache.iotdb.udf.api.UDTF;
import org.apache.iotdb.udf.api.access.Row;
import org.apache.iotdb.udf.api.collector.PointCollector;
import org.apache.iotdb.udf.api.customizer.config.UDTFConfigurations;
import org.apache.iotdb.udf.api.customizer.parameter.UDFParameters;
import org.apache.iotdb.udf.api.customizer.strategy.RowByRowAccessStrategy;
import org.apache.iotdb.udf.api.type.Type;
import java.io.IOException;

public class UDTFExample implements UDTF {
    @Override    
     public void beforeStart(UDFParameters parameters, UDTFConfigurations configurations) {        
       configurations.setAccessStrategy(new RowByRowAccessStrategy()).setOutputDataType(Type.INT32);    
    }

    @Override    
    public void transform(Row row, PointCollector collector) throws IOException {        
      collector.putInt(row.getTime(), -row.getInt(0));    
    }
}