2013-03-20 66 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