hadoop程序開發實踐——簡單程序

本篇在hadoop上實踐了幾個hadoop程序。

分別是:詞頻統計(wordcount)、數據去重、數據排序、平均成績、單表關聯、多表關聯、倒排索引。

對hadoop程序的運行機制,特別是mapreduce的運行過程、接口規範、shuffle有了進一步瞭解。

對mapper、combine、reducer三個重要函數進行了重寫。

對輸入輸出文件夾input、output文件的刪除、更新、上載下載有了實踐操作。


程序一:wordcount.hadoop的hello world程序。

程序二:depulication.數據去重。對多個文件中,重複的數據及整理,只輸出出現一次的數據。

程序三:sort.數據排序。對多個文件中的數據,進行排序,輸出到一個文件中,並給出數據在原文件位次。

程序四:singleTableCorrelation.單表關聯。對單個文件內的數據關聯進行挖掘,輸出有關係的數據組合。

程序五:doubleTableCorrelation.多表關聯。對多個文件內,數據之間的關係進行挖掘,輸出有關係的數據之間的組合。它是單表關聯的擴展,邏輯上更加清晰。

程序六:average.平均值。對多個文件內,同一個人、商品的多個維度的值求均值。輸出一個列出所有人、商品平均值的文件。

程序七:invertedindex:倒排索引。倒排索引是文件檢索系統常用的數據結果,能夠快速找出與查找字符相關的文件。


小結:

hadoop編程主要集中在map、combine、reduce三個函數的編寫。

hadoop需要經常讀寫文件,所以效率並不高。

優點是能夠利用hadoop集羣,實現高吞吐量。


參考文章:

1、http://penghuaiyi.iteye.com/blog/1943464(詳細列出了上述程序的源碼java實現,思路、相關input\output文件)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章