我正在尝试分析以下代码,但无法弄清楚什么是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);
        }
    }
  }

有人可以向我解释一下该功能吗?

最佳答案

进行预检查以确保输入有效-如果不返回null,否则将获取输入的第一个字符,大写仅获取第一个字母,并仅返回该大写字符。如果输入不是字符串类型,则尝试捕获仅用于转换。

关于hadoop - Pig用户定义的函数不了解什么是eval function(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37304950/

10-12 16:34
查看更多