這似乎是一個愚蠢的問題,但在Hadoop中,假設blocksize是X(通常爲64或128 MB),本地文件大小是Y(其中Y小於X)。現在,當我將文件Y複製到HDFS時,一塊或將hadoop創建更小的塊?Hadoop塊大小和文件大小問題?
5
A
回答
18
Hadoop消耗了一個塊。這並不意味着存儲容量將以相同的方式消耗。
而從網頁瀏覽HDFS的輸出是這樣的:
filename1 file 48.11 KB 3 128 MB 2012-04-24 18:36
filename2 file 533.24 KB 3 128 MB 2012-04-24 18:36
filename3 file 303.65 KB 3 128 MB 2012-04-24 18:37
你看到每個文件大小小於塊大小爲128 MB較小。這些文件以KB爲單位。 根據實際文件大小消耗HDFS容量,但每個文件消耗一個塊。
根據HDFS的容量,可用塊的數量是有限的。在利用所有實際的存儲容量之前,您將耗盡塊,因爲您將耗盡塊。請記住,Unix filsystem也有塊大小的概念,但是大小約爲512字節。這個概念在HDFS中反轉,其中塊大小保持在64-128 MB左右。
另一個問題是,當你運行map/reduce程序時,它會嘗試爲每個塊生成映射器,因此在這種情況下,當你處理三個小文件時,最終可能會產生三個映射器來處理它們。 當文件尺寸較小時,這會浪費資源。您還會添加延遲,因爲每個映射器都需要花費時間才能產生,然後最終會在非常小的文件上運行。您必須將它們壓縮到更接近塊大小的文件中,以利用映射器處理較少數量的文件。
許多小文件的另一個問題是它加載了namenode,它將每個塊的映射(元數據)和塊映射保存在主內存中。對於較小的文件,您可以更快地填充此表,並且隨着元數據的增長需要更多的主內存。
閱讀參考如下:
相關問題
- 1. Hadoop塊大小問題
- 2. HDFS塊大小和文件大小的問題,文件小於塊大小
- 3. hadoop map漏油大小和塊大小
- 4. 塊大小問題
- 5. Hadoop每個文件塊大小
- 6. Xfs文件大小,inode大小和塊大小
- 7. Hadoop HDFS最大文件大小
- 8. 排列網格大小和塊大小
- 9. 文件系統塊大小
- 10. iOS:TableView和大小問題
- 11. 小部件大小和添加新小部件的問題
- 12. HttpUrlConnection塊大小和視頻文件
- 13. 要檢查文件大小在Hadoop中
- 14. Hadoop 2.x中的默認塊大小
- 15. XFS塊大小的大頁面大小
- 16. JPanel大小問題
- 17. Hashset大小問題
- 18. GridView大小問題?
- 19. TagCloud大小問題
- 20. 表大小問題
- 21. javax.activation.DataSource大小問題
- 22. CollectionViewCell大小問題
- 23. C#Response.WriteFile VS Response.TransmitFile文件大小問題
- 24. HTML5視頻文件大小問題
- 25. UIsegment控件文字大小問題iphone
- 26. Sencha 2.0應用文件大小問題 -
- 27. php-move_upload_file文件大小問題
- 28. WCF Rest上傳文件大小問題
- 29. Cropper.JS上傳文件大小問題
- 30. 問題與.cod文件的大小