2013-03-20 63 views
0

我试图运行我的第一个UDF使用示例错误,同时在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甲GENERATE myudfs.UPPER(符号);

DUMP B;

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

Command--

java命令FirstUdf.jar家/维沙尔/ FirstUdf.jar -x当地myscript.pig

继Error--

错误1000:PA时出错rsing。遇到“的“Java‘’ 第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 
+0

HI Lonard,感谢您的回复....我还有一个怀疑是否'Firstudf.jar应该在piggybank或任何地方 – Uselesssss 2013-03-21 05:45:08

+0

Firstudf.jar不应该在Piggybank目录中,只需选择合适的放置您的自定义罐子的地方。 – 2013-03-21 11:08:39

+0

@ vishal1985另一方面,请将问题恢复为原来的问题,因为现在问题和我的答案不同步。整个事情看起来有点模糊。只需为遇到的其他问题创建一个新问题。 – 2013-03-21 11:15:37