1. 程式人生 > >Hadoop之Wordcount流量統計入門例項

Hadoop之Wordcount流量統計入門例項

一:何為MapReduce

HDFS和MapReduce是Hadoop的兩個重要核心,其中MR是Hadoop的分散式計算模型。MapReduce主要分為兩步Map步和Reduce步,引用網上流傳很廣的一個故事來解釋,現在你要統計一個圖書館裡面有多少本書,為了完成這個任務,你可以指派小明去統計書架1,指派小紅去統計書架2,這個指派的過程就是Map步,最後,每個人統計完屬於自己負責的書架後,再對每個人的結果進行累加統計,這個過程就是Reduce步。

二:WordCount程式

程式的功能:統計每個手機號的上行流量,下行流量和總流量。

流量資料如下:

Map實現程式碼如下:

Reduce實現程式碼如下:

流量統計實體類:

main方法執行類:

來看一下Job設定了哪些東西:

  • 設定處理該作業的類,setJarByClass()
  • 設定這個作業的名字,setJobName()
  • 設定這個作業輸入資料所在的路徑
  • 設定這個作業輸出結果儲存的路徑
  • 設定實現了Map步的類,setMapperClass()
  • 設定實現了Reduce步的類,setReducerClass()
  • 設定輸出結果key的型別,setOutputKeyClass()
  • 設定輸出結果value的型別,setOuputValueClass()
  • 執行作業

執行的結果如下: