如何检查猪UDF内的数据类型

时间:2016-01-02 19:25:05

标签: hadoop apache-pig udf

我是Pig脚本的新手。

我想编写一个过滤器udf而不管列的数据类型。

iput_data = load data '/emp.csv' using PigStorage(',') as (empid int, name chararray);

output = FILTER input_data by FilterUDF(empid);//data type is int

input_data1 = load data '/dept.csv' using pigStorage(',') as (deptid chararray, deptname chararray);

output1 = FILTER input_data by FilterUDF(deptid); //data type is chararray

现在,在PigUdf里面,如何识别输入参数的数据类型? (即input.get(0)的数据类型)

import org.apache.pig.FilterFunc;
import java.io.IOException;
import org.apache.pig.data.Tuple;


public class FilterUDF extends FilterFunc {

    public Boolean exec(Tuple input) throws IOException {
        //How to check data type inside UDF
    }
}

1 个答案:

答案 0 :(得分:0)

您可能希望使用getType()方法来查找元组的各个元素的数据类型。见link

这样的东西
if (input.getType(0) == INTEGER) {
    // Do something here
}

希望这有帮助。