最近在使用hadoop處理日誌統計相關字段的頻率與數量,目前只有一個輸入文件900M ,需要處理到任務有4個,分別是統計IP,HTTP 狀態碼,響應時間,已經接口到總頻次。
開始想到到是使用作業鏈到方式,但是考慮IO和網絡數據傳輸到限制,最總選擇使用作業歸併來處理。
自己理解中到作業歸併:
作業歸併優點:數據只需要加載一次和解析一次
與作業鏈比較,將多個map使用一個map來進行處理同時將多個reduce同樣歸爲一個reduce來處理。
主要注意:
(1):map階段處理好不同任務到tag
(2):考慮這些任務是否具有相同到中間鍵和輸出格式。因爲他們是共享管道
主要步驟:
(1):將多個mapper代碼放在一起
(2):在mapper中,生成鍵值時,需要標記tag來區分map
(3):在reducer中,使用tag進行相對應到reducer代碼到執行
(4) :使用Multipleuts將作業輸出分開