電腦版
首頁

搜尋 繁體

19 使用 python 構建基於 hadoop 的 mapreduce 日誌分析平臺

熱門小說推薦

最近更新小說

圖片 19.1 pic

流量比較大的日誌要是直接寫入 Hadoop 對 Namenode 負載過大,所以入庫前合併,可以把各個節點的日誌湊併成一個檔案寫入 HDFS。 根據情況定期合成,寫入到 hdfs 裡面。

咱們看看日誌的大小,200 G 的 dns 日誌檔案,我壓縮到了 18 G,要是用 awk perl 當然也可以,但是處理速度肯定沒有分散式那樣的給力。

圖片 19.2 pic

Hadoop Streaming 原理

mapper 和 reducer 會從標準輸入中讀取使用者資料,一行一行處理後傳送給標準輸出。Streaming 工具會建立 MapReduce 作業,傳送給各個 tasktracker,同時監控整個作業的執行過程。

任何語言,只要是方便接收標準輸入輸出就可以做 mapreduce~

再搞之前我們先簡單測試下 shell 模擬 mapreduce 的效能速度~

圖片 19.3 pic

看下他的結果,350 M 的檔案用時 35 秒左右。

圖片 19.4 pic

這是 2 G 的日誌檔案,居然用了 3 分鐘。 當然和我寫的指令碼也有問題,我們是模擬 mapreduce 的方式,而不是呼叫 shell 下牛逼的 awk,gawk 處理。

Loading...

未載入完,嘗試【重新整理網頁】or【關閉小說模式】or【關閉廣告遮蔽】。

使用【Firefox瀏覽器】or【Chrome谷歌瀏覽器】開啟並收藏!

移動流量偶爾打不開,可以切換電信、聯通網路。

收藏網址:www.peakbooks.cc

(>人<;)