我正在尝试分析下面的代码并且无法弄清楚什么是Evalfunction()及其真正的作用:
package myudfs;
import java.io.IOException;
import org.apache.pig.EvalFunc;
import org.apache.pig.data.Tuple;
public class UPPER extends EvalFunc<String>
{
public String exec(Tuple input) throws IOException {
if (input == null || input.size() == 0)
return null;
try{
String str = (String)input.get(0);
return str.toUpperCase();
}catch(Exception e){
throw new IOException("Caught exception processing input row ", e);
}
}
}
有人能解释一下这个功能吗?
答案 0 :(得分:2)
是否预先确认输入是否有效 - 如果不是则返回null,否则它获取输入的第一个字符,大写只是第一个字母并返回该大写字符。如果输入不是字符串类型,则try catch完全用于转换。