Hadoop中的做業(Job)(6)

MapReduce做業函數

                            MapReduce做業(Job)是客戶端須要執行的一個工做單元:它包括輸入數據,MapReduce程序和配置信息。oop

Hadoop做業spa

                            Hadoop是將做業分紅若干個小任務(Task)來執行,其中包括兩類任務:Map任務和Reduce任務。有兩類節點控制着做業執行過程:一個JobTracket及一系列TaskTracker。JobTracker經過調度TaskTracker上運行的任務,來協調全部運行在系統上的做業。TaskTracker在運行任務的同時將運行進度報告發送給JobTracker,JobTracker由此記錄每項做業任務的總體進度狀況,若是其中一個任務失敗,JobTracker能夠在另一個TaskTracker節點上從新調度該任務。it


Map任務將其輸出寫入到本地硬盤,而非HDFS,這是爲何?io

                    由於Map的輸出是中間結果,該中間結果由reduce任務處理後才產生最終輸出結構,並且一旦做業完成,Map的輸出結果能夠被刪除,所以,若是把它存儲在HDFS中並實現備份,不免小題大作。若是該節點上運行的Map任務將Map中間結果傳送到reduce任務以前失敗,Hadoop將在另外一個節點上從新運行這個map任務以再次構建Map中間結果。配置

                    若是有多個Reduce任務,則每一個Map任務都會對其輸出進行分區(Partition),即爲每一個Reduce任務建一個分區,每一個分區有許多鍵(及其對應值),但每一個鍵對應的鍵/值對記錄都在同一分區中。分區由用戶定義的分區函數控制,但一般默認的分區器(Partitioner)經過哈希函數來分區的,這種方法很高效。map



                                                                                                                            Name:Xr程序

                                                                                                                            Date:2014-02-25 21:41
方法

相關文章
相關標籤/搜索