📅  最后修改于: 2021-01-07 10:55:01             🧑  作者: Mango
为了指定自定义处理,Pig提供了对用户定义函数(UDF)的支持。因此,Pig允许我们创建自己的功能。当前,可以使用以下编程语言来实现Pig UDF:-
在所有语言中,Pig为Java函数提供了最广泛的支持。但是,仅对Python,Jython,JavaScript,Ruby和Groovy等语言提供有限的支持。
在猪里
让我们看一个简单的EVAL函数示例,该函数将提供的字符串转换为大写。
UPPER.java
package com.hadoop;
import java.io.IOException;
import org.apache.pig.EvalFunc;
import org.apache.pig.data.Tuple;
public class TestUpper extends EvalFunc {
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);
}
}
}
$ nano pigsample
$ hdfs dfs -put pigexample /pigexample
$ nano pscript.pig
$pig pscript.pig
在这里,我们得到了期望的输出。