Taiwan Hadoop Forum

台灣 Hadoop 技術討論區
現在的時間是 2022-06-25, 21:16

所有顯示的時間為 UTC + 8 小時




發表新文章 回覆主題  [ 5 篇文章 ] 
發表人 內容
 文章主題 : HDFS Block 問題
文章發表於 : 2009-12-01, 21:21 
離線

註冊時間: 2009-12-01, 21:10
文章: 2
假設一個Block size 為64MB,請問檔案若小於Block的size,該檔案存在HDFS中的Block內容為何?是否採用填充無意義位元的方式補到64MB?或是一個Block 填塞多個小檔案一直填滿到64MB呢?

還請各位回答,謝謝!


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: HDFS Block 問題
文章發表於 : 2009-12-03, 11:26 
離線

註冊時間: 2009-12-03, 11:12
文章: 7
benstyle 寫:
假設一個Block size 為64MB,請問檔案若小於Block的size,該檔案存在HDFS中的Block內容為何?是否採用填充無意義位元的方式補到64MB?或是一個Block 填塞多個小檔案一直填滿到64MB呢?

還請各位回答,謝謝!


如果不足64MB,則只存儲實際大小,不會有填補的。


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: HDFS Block 問題
文章發表於 : 2009-12-08, 22:16 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
benstyle 寫:
假設一個Block size 為64MB,請問檔案若小於Block的size,該檔案存在HDFS中的Block內容為何?是否採用填充無意義位元的方式補到64MB?或是一個Block 填塞多個小檔案一直填滿到64MB呢?

還請各位回答,謝謝!


如果您觀察 hadoop.tmp.dir 目錄底下(Ex. /var/lib/hadoop/cache/${user.name})
有跑 datanode 的話,會出現 dfs/data 目錄,
進到 current 目錄,就可以看到很多 block 的檔案。

代碼:
jazz@hadoop101:/var/lib/hadoop/cache/hadoop/dfs/data/current$ pwd
/var/lib/hadoop/cache/hadoop/dfs/data/current
jazz@hadoop101:/var/lib/hadoop/cache/hadoop/dfs/data/current$ ls blk_*
blk_-1058113532576872849              blk_3460529997635893096_429031.meta   blk_-6575302874524874076
blk_-1058113532576872849_464221.meta  blk_3611050815788039047               blk_-6575302874524874076_471179.meta
blk_1132812415192034288               blk_3611050815788039047_434756.meta   blk_6739545081917432979
blk_1132812415192034288_415564.meta   blk_-370560545439462242               blk_6739545081917432979_455646.meta
.... 略 ....
jazz@hadoop101:/var/lib/hadoop/cache/hadoop/dfs/data/current$ ls -alh blk_-1058113532576872849
-rw-r--r-- 1 hadoop hadoop 14K 2009-11-23 15:21 blk_-1058113532576872849


從這個現象就可以知道雖然 Block Size 設成 64MB,單一個 block 還是根據檔案的大小決定。


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: HDFS Block 問題
文章發表於 : 2009-12-16, 03:32 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
Block Size 的影響有兩個,其一為當檔案大於 Block Size,會依造 Block Size 切割。
其二,Job Tracker 會根據 Block Size 決定 Mapper 個數(應該也跟檔案分部有關)。
[參考] Hadoop-How Many Maps?
http://hungic.blogspot.com/2008/07/hadoop-map.html
文中提及:「 total data size / block size = map number 」這個規則。
想想不無道理啦~如果要實現「在地運算」的特點,當然 Mapper 最好跟檔案碎片(block)個數有關。

Jazz


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: HDFS Block 問題
文章發表於 : 2010-01-18, 21:50 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
不過 HDFS 並不喜歡小檔案,
因為太多小檔案會造成 Name Node 的記憶體使用量急劇升高。

通常都會建議為了效能考量,建議採用 Compressed File 把小檔案先壓縮過再丟到 HDFS。
或許這也是為何 Hadoop 會支援 MapReduce 線上解壓縮檔案吧 *^__^ *

- Jazz


回頂端
 個人資料 E-mail  
 
顯示文章 :  排序  
發表新文章 回覆主題  [ 5 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 3 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
正體中文語系由 竹貓星球 維護製作