在PIG中执行UDF时出错



我正在尝试使用示例

运行我的第一个UDF

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

我myscript

。猪的情况如下

  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:解析时出错。遇到"java"在第1行,第1列

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

您可以尝试以下操作:

硬编码自定义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

最新更新