大資料技術之Hadoop(MapReduce)

2021-10-09 02:40:28 字數 904 閱讀 7744

mapreduce是乙個分布式運算程式的程式設計框架,是使用者開發「基於hadoop的資料分析應用」的核心框架;

mapreduce核心功能是將使用者編寫的業務邏輯**和自帶預設元件整合成乙個完整的分布式運算程式,併發執行在乙個hadoop集群上。

1)海量資料在單機上處理因為硬體資源限制,無法勝任

2)而一旦將單機版程式擴充套件到集群來分布式執行,將極大增加程式的複雜度和開發難度

3)引入mapreduce框架後,開發人員可以將絕大部分工作集中在業務邏輯的開發上,而將分布式計算中的複雜**由框架來處理。

4)mapreduce分布式方案考慮的問題

(1)運算邏輯要不要先分後合?

(2)程式如何分配運算任務(切片)?

(3)兩階段的程式如何啟動?如何協調?

(4)整個程式執行過程中的監控?容錯?重試?

分布式方案需要考慮很多問題,但是我們可以將分布式程式中的公共功能封裝成框架,讓開發人員將精力集中於業務邏輯上。而mapreduce就是這樣乙個分布式程式的通用框架。

上圖簡單的闡明了map和reduce的兩個過程或者作用,雖然不夠嚴謹,但是足以提供乙個大概的認知,map過程是乙個蔬菜到製成食物前的準備工作,reduce將準備好的材料合併進而製作出食物的過程

1)分布式的運算程式往往需要分成至少2個階段

2)第乙個階段的maptask併發例項,完全並行執行,互不相干

3)第二個階段的reduce task併發例項互不相干,但是他們的資料依賴於上乙個階段的所有maptask併發例項的輸出

4)mapreduce程式設計模型只能包含乙個map階段和乙個reduce階段,如果使用者的業務邏輯非常複雜,那就只能多個mapreduce程式,序列執行

大資料技術之kylin tableau

kylin tableau hive 就是字面意思,大型資料倉儲,這邊用了乙個叫kylin 的東西 從hive 取資料生成cube 以key value 的方式存在hbase 裡面 hbase 對接tableau 等報表工具 hbase 中 cube 存的是 每個緯度的資訊 下圖是有四個緯度夠成的c...

大資料技術之Hadoop解析

大資料技術之hadoop解析。1 資料現狀 2006年數字世界 digital universe 專案統計得出全球資料總量為0.18zb,2011年將達到1.8zb 1zb 1 000eb 1 000 000pb 1 000 000 000tb 資料增長速度也在加快。2 資料的儲存 資料讀取速度慢 ...

大資料技術

如果沒有乙個好的開始,不妨試試乙個壞的開始吧。因為乙個壞的開始,總比沒有開始強。而完美的開始,則永遠都不會來到。資料採集傳輸主要技術 分為兩類,一類是離線批處理 另一類是實時資料採集和傳輸 離線批處理最有名的是sqoop 實時資料採集和傳輸最為常用的是flume和kafka sqoop 一款開源的離...