Hadoop HDFS中的資料塊和Map任務的分片

2021-06-21 21:14:00 字數 921 閱讀 6827

[日期:

2012-05-26]

linux

社群supercharles [

字型:大

中小]hdfs

的資料塊

磁碟資料塊是磁碟進行資料讀

/寫的最小單位,一般是

512位元組,

而hdfs

中也有資料塊,預設為

64mb

。所以hdfs

上的大檔案被分為許多個

chunk.

而hdfs

上的小檔案(小於

64mb)

的檔案不會佔據整個塊的空間。

hdfs

資料塊設定大的原因是減少定址開銷,資料備份也是以塊為單位的。 用

hadoop

fsck / -files -blocks 命令可以檢查

hdfs

根目錄(/)

下所有檔案,塊的健康狀況:

map任務的分片:

為什麼推薦

map任務的分片尺寸和

hdfs

基本塊的大小一致為最佳呢?

因為有3個因素:

a.map

任務數=

輸入檔案總大小

/分片尺寸,所以分片越大,

map任務數越少,從而系統執行開銷越小。 b.

管理分片的開銷:顯然是分片越大,則分片數量越少,越容易管理。 從

a,b因素來看,貌似是分片越大越好。 c.

網路傳輸開銷

但是,如果分片太大以至於乙個分片要跨越多個

hdfs

塊,則乙個

map任務必須要由多個塊通過網路傳輸,所以分片大小的上限是

hdfs

塊的大小。

綜上所述,

map任務時的分片大小設定為

hdfs

塊的大小是最佳選擇。

Hadoop HDFS中的資料塊和Map任務的分片

hdfs的資料塊 磁碟資料塊是磁碟進行資料讀 寫的最小單位,一般是512位元組,而hdfs中也有資料塊,預設為64mb。所以hdfs上的大檔案被分為許多個chunk.而hdfs上的小檔案 小於64mb 的檔案不會佔據整個塊的空間。hdfs資料塊設定大的原因是減少定址開銷,資料備份也是以塊為單位的。用...

Hadoop HDFS中的資料塊和Map任務的分片

hdfs的資料塊 磁碟資料塊是磁碟進行資料讀 寫的最小單位,一般是512位元組,而hdfs中也有資料塊,預設為64mb。所以hdfs上的大檔案被分為許多個chunk.而hdfs上的小檔案 小於64mb 的檔案不會佔據整個塊的空間。hdfs資料塊設定大的原因是減少定址開銷,資料備份也是以塊為單位的。用...

Hadoop HDFS 檔案塊大小

hdfs檔案塊大小 hdfs中的檔案在物理上是分塊儲存 block 塊的大小可以通過配置引數 dfs.blocksize 來規定,預設大小在hadoop2.x版本中是128m,老版本中是64m hdfs的塊比磁碟的塊大,其目的是為了最小化定址開銷。如果塊設定得足夠大,從磁碟傳輸資料的時間會明顯大於定...