我正在尝试使用示例
运行我的第一个UDFhttp://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栏。
我的命令错误或问题是什么
答案 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