天天看點

分布式并行計算MapReduce

HDFS特點

1.資料備援,軟體容錯很高。

2.流失資料通路,也就是HDFS一次寫入,多次讀寫,并且沒辦法進行修改,隻能删除之後重新建立

3.适合存儲大檔案。如果是小檔案,而且是很多小檔案,連一個塊都裝不滿,并且還需要很多塊,就會極大浪費空間。

HDFS的适用性和局限性:

1.資料批量讀寫,吞吐量高。

2.不适合互動式應用,延遲較高。

3.适合一次寫入多次讀取,順序讀取。

4.不支援多使用者并發讀寫檔案。

MapReduce:

MapReduce是并行處理架構,實作任務分解和排程。

其實原理說通俗一點就是分而治之的思想,将一個大任務分解成多個小任務(map),小任務執行完了之後,合并計算結果(reduce)。

2.HDFS上運作MapReduce

1)準備文本檔案,放在本地/home/hadoop/wc

分布式并行計算MapReduce

2)編寫map函數和reduce函數,在本地運作測試通過

mapper

分布式并行計算MapReduce

reduce

分布式并行計算MapReduce

3)啟動Hadoop:HDFS, JobTracker, TaskTracker

分布式并行計算MapReduce

4)把文本檔案上傳到hdfs檔案系統上 user/hadoop/input

分布式并行計算MapReduce

5)streaming的jar檔案的路徑寫入環境變量,讓環境變量生效

分布式并行計算MapReduce
分布式并行計算MapReduce

6)建立一個shell腳本檔案:streaming接口運作的腳本,名稱為run.sh

分布式并行計算MapReduce

7)source run.sh來執行mapreduce

分布式并行計算MapReduce

8)檢視運作結果

分布式并行計算MapReduce