0

我是hadoop和猪的新手。我想知道如何运行内部调用 UDF 方法的猪脚本?问题是我没有看到像 Pig UDF 手册网站上提到的“注册 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 文件添加到命令行?

非常感谢!

4

1 回答 1

1

如果脚本中没有REGISTER语句(并且脚本有效),那么它不会调用任何 UDF,可能除了 Pig 的任何内置函数。如果您想使用 UDF,则需要REGISTER声明。 REGISTER如果没有调用 UDF,则没有必要,这可能是您在脚本中看不到它的原因。

是编写 UDF 的一个很好的参考。编写完成后,您需要将其编译成 jar 文件,并确保还包括它所依赖的任何类(例如 EvalFunc)。这是你要的罐子REGISTER

于 2012-11-19T21:41:06.920 回答