[日期:
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的塊比磁碟的塊大,其目的是為了最小化定址開銷。如果塊設定得足夠大,從磁碟傳輸資料的時間會明顯大於定...