2014-01-17 53 views
0

我是Hadoop和Pig的新手。豬不能處理大文件

我已經設置了3節點的Hadoop集羣。我寫了一個Pig腳本,它通常讀取數據並在其上執行聚合函數。

當我執行4.8億個文件,3600萬個記錄豬在51分鐘內輸出。

當我執行帶有7200萬個記錄的9.6G文件時,豬腳本崩潰,Hadoop出現以下錯誤。

  • 無法從已備份的錯誤重新創建異常:嘗試ID:attempt_1389348682901_0050_m_000005_3信息:由ApplicationMaster終止的容器。
  • 工作失敗了,hadoop的不返回任何錯誤消息

我使用Hadoop 2.2.0和豬0.12.0。

我的節點配置都

站長:2 CPU,2GB RAM SLAVE1:2 CPU,2GB RAM SLAVE2:1個CPU,2 GB RAM

請您諮詢我對此有何看法?

+0

是否有可能在你的豬腳本中存在一些邏輯錯誤?請參閱http://stackoverflow.com/questions/12874975/error-main-2997-unable-to-recreate-exception-from-backend-error-org-apache-p –

+0

相同的腳本已成功運行4.8G文件,其中包含36個百萬條記錄。我在LOAD操作腳本中觀察到的內容失敗。節點無法處理/加載9 GB文件。我們可以使LOAD操作平行嗎? – Bhagwant

+0

啊,對,它曾經工作過一次。如果文件是可拆分的格式,那麼您不必擔心它很大。也許LOAD可能由於輸入文件的某些語法錯誤而失敗,儘管通常它應該跳過一個破損的記錄,將null置於其位置。沒有看到日誌,數據和腳本就很難猜測。 –

回答

0

與豬試穿後。我搬到了Hive。

我我是用豬時發現:

我在上傳文件HDFS和豬加載它。所以豬再次加載該文件。我正在處理文件兩次。

對於我的場景蜂巢適合。我在HDFS中上傳文件並在Hive中加載該文件。這需要幾毫秒。因爲Hive可以無縫地處理HDFS文件。所以不需要在Hive表中再次加載數據。這可以節省大量時間。

這兩個組件都很好,對我來說蜂巢很適合。

非常感謝您的時間和建議。