天天看點

《深入了解大資料:大資料處理與程式設計實踐》一一2.4 Hadoop MapReduce程式開發過程

本節書摘來自華章計算機《深入了解大資料:大資料處理與程式設計實踐》一書中的第2章,第2.4節,作者 主 編:黃宜華(南京大學)副主編:苗凱翔(英特爾公司),更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

hadoop mapreduce程式的開發一般是在程式員本地的單機hadoop系統上進行程式設計與調試,然後上載到hadoop叢集上運作。開發環境可以使用eclipse,也可以使用其他開發環境,如intellij。本節僅僅介紹使用eclipse開發hadoop程式的過程。

可以下載下傳linux版本的eclipse ide for java開發包,并安裝在本地的linux系統中。

1.?啟動eclipse

啟動eclipse後,會出現如圖2-2所示的界面

2.?建立java project

建立java project的界面如圖2-3所示。

《深入了解大資料:大資料處理與程式設計實踐》一一2.4 Hadoop MapReduce程式開發過程

3.?配置java project

這一步需要加入外部的jar檔案:hadoop-core-1.2.1.jar以及lib下所有的jar包,見圖2-4。

《深入了解大資料:大資料處理與程式設計實踐》一一2.4 Hadoop MapReduce程式開發過程

圖2-4 加入相應jar包

4.?編寫程式代碼

編寫相應的mapreduce程式的代碼,見圖2-5。

《深入了解大資料:大資料處理與程式設計實踐》一一2.4 Hadoop MapReduce程式開發過程

圖2-5 編寫程式代碼

5.?編譯源代碼

編譯mapreduce程式。待完成編譯時,導出jar檔案,如圖2-6所示。

《深入了解大資料:大資料處理與程式設計實踐》一一2.4 Hadoop MapReduce程式開發過程

圖2-6 編譯源代碼

6.?本地運作調試

在導出jar檔案的時候,需要指定一個主類main class,作為預設執行的一個類。将程式複制到本地hadoop系統的執行目錄,可以準備一個小的測試資料,即可通過hadoop的安裝包進行運作調試。

7.?遠端作業送出

當需要用叢集進行海量資料處理時,在本地程式調試正确運作後,可按照遠端作業送出步驟,将作業送出到遠端叢集上運作。

以hadoop mapreduce計算pi值的示例程式為例,運作程式的指令是:

$hadoop jar $hadoop_home/hadoop-examples-1.2.1.jar pi2 5

其中,第一個參數是指要運作的map的次數;第二個參數是指每個map任務取樣的個數。