0

我正在尝试使用示例运行我的第一个 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);

转储 B;

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

命令 -

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

跟随错误——

ERROR 1000:解析时出错。在第 1 行第 1 列遇到了“java”。

我给出的命令是错误的还是有什么问题

4

1 回答 1

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
于 2013-03-20T15:08:20.390 回答