2013-06-26 65 views
0

我已經在我的ubuntu上安裝了hadoop,並運行示例代碼來測試。其中一個常見示例是https://github.com/tomwhite/hadoop-book/tree/master/ch02/src/main/pythonpython mapreduce示例在hadoop中的最大/最小溫度

我測試了此代碼w /給出示例文件(https://github.com/tomwhite/hadoop-book/blob/master/input/ncdc/sample.txt)。但是,當我根據數據文件修改映射器代碼時,減速器從0%變爲33%,然後回到0%。任何人都可以幫助解釋爲什麼發生這種情況,或者我應該如何修改代碼我的數據是這樣的:

STN---,WBAN , YEARMODA, TEMP, , DEWP, , SLP , , STP , , VISIB, , WDSP, , MXSPD, GUST, MAX , MIN ,PRCP ,SNDP , FRSHTT, 


690190,13910, 20120101, 42.9,18, 29.4,18, 1033.3,18, 968.7,18, 10.0,18, 8.7,18, 15.0, 999.9, 52.5*, 31.6*, 0.00I,999.9, 000000, 
+0

你的日誌說什麼? – Tariq

+0

它的像/user/hadoop/../_logs --->/_logs/history有兩個文件,一個是.jar和conf.xml。 – farey

回答

0

如果你檢查作業服務器,我敢肯定,在地圖任務失敗,被重新安排到另一個節點(最終作業失敗)上運行。這可能是由於python腳本拋出一個錯誤,所以我會建議(如果你還沒有這樣做)通過你的映射器來管理你的示例數據,看看它產生了什麼。

例如,我把你的數據,並運行它通過鏈接蟒蛇映射器(帶有一個額外的println看到提取列:

#> cat data.csv | python map.py 
EARM MXSP D 


0120 15. 0 
0120  15. 

很顯然,你在你的問題請注意您的映射已修正 - 這樣你需要確保python腳本沒有錯誤地處理你的示例數據,如果它運行沒有錯誤,那麼你需要檢查失敗的地圖任務的日誌(將它們發佈到你的問題中)