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

2021-09-21 18:57:49 字數 595 閱讀 3333

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任務的分片

日期 2012 05 26 linux 社群supercharles 字型 大 中小 hdfs 的資料塊 磁碟資料塊是磁碟進行資料讀 寫的最小單位,一般是 512位元組,而hdfs 中也有資料塊,預設為 64mb 所以hdfs 上的大檔案被分為許多個 chunk.而hdfs 上的小檔案 小於 64m...

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

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

Hadoop HDFS 檔案塊大小

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