Hadoop之Wordcount流量統計入門例項
阿新 • • 發佈:2018-12-09
一:何為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()
- 執行作業
執行的結果如下: