2015-05-26 27 views
0

我試圖使用CSVExcelStorage()存儲Pig對象。我已經使用了豬腳本是:失敗的映射任務超出了允許的錯誤限制:org.apache.pig.data.Typle.isNull()Z

REGISTER /usr/local/pig/lib/piggybank.jar;  
a = LOAD '/input/someText.txt' USING org.apache.pig.piggybank.storage.CSVExcelStorage(',');  
dump a;  
b = FOREACH a GENERATE $1,$2;  
dump b;  
STORE b into '/user/username/b_output' USING org.apache.pig.piggybank.storage.CSVExcelStorage();  

轉儲給了我這樣的結果

(abcd,efgh,ijkl)  
(mnop,qrst,uvwx) 

突降B給出了我這樣的結果

(efgh,ijkl)  
(qrst,uvwx)  

但店裏給我這個錯誤

ERROR org.apache.pig.tools.pigstats.SimplePigStats - ERROR 2997: Unable to recreate exception from backed error: Error: org.apache.pig.data.Tuple.isNull()Z 

Message: Job failed! Error - # of failed Map Tasks exceeded allowed limit. FailedCount: 1. LastFailedTask: task_201505250503_0003_m_000000 

當我看了在錯誤處通過瀏覽器進入JobTracker頁面,發現以下錯誤

Error: org.apache.pig.data.Tuple.isNull()Z 

我在做什麼錯?

+0

我想,你需要使用'USING CSVExcelStorage(',')'。請參閱鏈接。請讓我知道,如果它不適合你,請提供輸入數據。 http://pig.apache.org/docs/r0.9.1/api/org/apache/pig/piggybank/storage/CSVExcelStorage.html –

+0

@ s.singh我試過'使用CSVExcelStorage(',')'但仍然沒有工作 – anirudh985

+0

你能提供你的輸入數據進行分析嗎? –

回答

0

工作守則對我來說:

輸入:

1,name1,addr2,atos 
2,name2,addr2,barclays 
3,name3,addr3,accenture 

代碼:

REGISTER piggybank.jar; 

define CSVExcelStorage org.apache.pig.piggybank.storage.CSVExcelStorage(); 

a = LOAD '/user/input/data_test3.txt' USING CSVExcelStorage(',');  
--dump a;  
b = FOREACH a GENERATE $1,$2;  
--dump b;  
STORE b into '/user/input/output' USING CSVExcelStorage(); 

輸出:

name1,addr2 
name2,addr2 
name3,addr3 
+0

我在下載piggybank.jar的新版本後檢查了它。有效!!! 可能是舊的piggybank.jar存在問題 – anirudh985

相關問題