在PIG中执行UDF时出错

时间:2013-03-20 13:42:37

标签: user-defined-functions apache-pig

我正在尝试使用示例

运行我的第一个UDF

http://wiki.apache.org/pig/UDFManual。 现在我有我的 FirstUdf.jar,myscript.pig都在同一个文件夹中

我的myscript.pig如下

  REGISTER FirstUdf.jar; A = LOAD '/home/vishal/exampleforPIG1' AS
 (exchange: chararray, symbol: chararray, date: int,value:float);  

B = FOREACH A GENERATE myudfs.UPPER(symbol);

DUMP B;

现在,当我提供以下命令来运行我的脚本时,它会给我以下错误

命令 -

  

java -cp FirstUdf.jar home / vishal / FirstUdf.jar -x local myscript.pig

以下错误 -

  

错误1000:解析期间出错。遇到了#34; " java""   在第1栏第1栏。

我的命令错误或问题是什么

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

硬编码您拥有的自定义UDF的路径:

REGISTER '/path/to/FirstUdf.jar';
DEFINE myUDF com.example.MyUDF();
...

Then:
pig -f myscript.pig -x local

...或将其作为命令行参数传递:

REGISTER '$UDF_PATH/FirstUdf.jar';
DEFINE myUDF com.example.MyUDF();
...

Then:
pig -f myscript.pig -param UDF_PATH=/path/to -x local