我是hadoop和猪的新手。我想知道如何运行内部调用UDF方法的pig脚本?问题是我没有看到像Pig UDF手册网站上提到的声明“register blah.jar”:
register myudfs.jar;
A = load 'student_data' as (name: chararray, age: int, gpa: float);
B = foreach A generate flatten(myudfs.Swap(name, age)), gpa;
C = foreach B generate $2;
D = limit B 20;
dump D;
但我确实看到一个包含“blah.jar”的“jar”目录。我的同事已经离开了,所以我想知道诀窍是什么?也许我可以将jar文件添加到命令行?
非常感谢!
答案 0 :(得分:1)
如果脚本中没有REGISTER
语句(并且脚本有效),则它不会调用任何除了Pig builtin functions之外的任何UDF。如果您想使用UDF,则需要REGISTER
语句。如果没有调用UDF,则REGISTER
是不必要的,这可能是您在脚本中没有看到它的原因。
Here是编写UDF的好参考。在编写之后,您需要将其编译为jar文件,确保还包括它依赖的任何类(例如EvalFunc)。这是你将REGISTER
。