Hadoop資料切片基本原理

2022-08-23 05:33:13 字數 888 閱讀 2002

資料切片問題:

先給不懂得同學解釋一下概念:

資料塊block:是hdfs物理資料塊,乙個大檔案丟到hdfs上,會被hdfs切分成指定大小的資料塊,即block

資料切片:資料切片是邏輯概念,只是程式在輸入資料的時候對資料進行標記,不會實際切分磁碟資料

切片1:假設檔案大小為300m,切片大小為100m,blocksize為128m,則第乙個block會被切成100m + 28m,100m給datanode1上的maptask,剩餘的28m需要跨網路傳輸給datanode2,同理,datanode2的block也需要切分,不過切分需要加上datanode1剩餘的28m,也就是datanode2需要切分72m,加上28m才是datanode2上maptask所需的資料,以此類推,也就解釋了下圖的示意,這種情況最根本的問題就是大資料計算場景中,集群節點之間需要占用大量的網路io和磁碟io,計算效率會大大降低。

切片2:假設檔案依舊300m,但切片的大小splitsize=blocksize,則每乙個block就正好是乙個maptask所需資料,不需要切分block,也就沒有節點間的資料傳輸,效率就回很高,示例如下:

所以:

2. 每乙個split切片都會分配給乙個maptask並行例項處理

3. 預設情況下splitsize=blocksize

Hadoop基本原理

hadoop是乙個用於海量資料統計分析的分布式計算框架,封裝了分布式計算中比較困難的程序間通訊 負載均衡,任務排程等模組,降低了學習門檻。在最簡單的程式實現中,僅僅需要重寫map和reduce方法,並實現任務提交邏輯。接下來,就讓我們一起推開hadoop的大門,走進大資料的神奇世界。hadoop目前...

Hadoop基本原理之一 MapReduce

1 為什麼需要hadoop 目前,一塊硬碟容量約為1tb,讀取速度約為100m s,因此完成一塊硬碟的讀取需時約2.5小時 寫入時間更長 若把資料放在同一硬碟上,且全部資料均需要同乙個程式進行處理,此程式的處理時間將主要浪費在i o時間上。在過去幾十年,硬碟的讀取速度並未明顯增長,而網路傳輸速度此飛...

七 Hadoop基本原理總結 MapReduce

一 主要組成 1 job 由客戶端向集群提交的一次計算任務。2 task 集群的最小可執行單位 乙個job將會分為多個task執行 3 resourcemanager 以下簡稱rm 管理整個集群的計算資源,主要用於為每乙個job分配計算資源 整個集群只有乙個rm 4 container 資源分配單位...