當前位置:首頁 » 存儲配置 » hadoop存儲小文件格式

hadoop存儲小文件格式

發布時間: 2025-09-01 13:00:58

❶ Hadoop HDFS處理大量的小文件

小文件是指文件大小明顯小於HDFS上塊(block)大小(默認64MB)的文件。如果存儲小文件,必定會有大量這樣的小文件,否則你也不會使用Hadoop(If you』re storing small files, then you probably have lots of them

(otherwise you wouldn』t turn to Hadoop)),這樣的文件給hadoop的擴展性和性能帶來嚴重問題。當一個文件的大小小於HDFS的塊大小(默認64MB),就將認定為小文件否則就是大文件。為了檢測輸入文件的大小,可以瀏覽Hadoop DFS 主頁 http://machinename:50070/dfshealth.jsp ,並點擊Browse filesystem(瀏覽文件系統)。

首先,在HDFS中,任何一個文件,目錄或者block在NameNode節點的內存中均以一個對象表示(元數據)(Every file, directory and block in HDFS is represented as an object in the namenode』s memory),而這受到NameNode物理內存容量的限制。每個元數據對象約佔150byte,所以如果有1千萬個小文件,每個文件佔用一個block,則NameNode大約需要15G空間。如果存儲1億個文件,則NameNode需要150G空間,這毫無疑問1億個小文件是不可取的。

其次,處理小文件並非Hadoop的設計目標,HDFS的設計目標是流式訪問大數據集(TB級別)。因而,在HDFS中存儲大量小文件是很低效的。訪問大量小文件經常會導致大量的尋找,以及不斷的從一個DatanNde跳到另一個DataNode去檢索小文件(Reading through small files normally causes lots of seeks and lots of hopping from datanode to datanode to retrieve each small file),這都不是一個很有效的訪問模式,嚴重影響性能。

最後,處理大量小文件速度遠遠小於處理同等大小的大文件的速度。每一個小文件要佔用一個slot,而task啟動將耗費大量時間甚至大部分時間都耗費在啟動task和釋放task上。

Hadoop存檔文件系統通常將HDFS中的多個文件打包成一個存檔文件,減少namenode內存的使用

hadoop archive命令創建HAR文件

from:https://blog.csdn.net/sunnyyoona/article/details/53870077

熱點內容
雲伺服器掛了怎麼解決 發布:2025-09-01 15:06:52 瀏覽:103
機械上傳說 發布:2025-09-01 15:06:51 瀏覽:677
modoer源碼 發布:2025-09-01 14:48:43 瀏覽:245
c語言程序界面設計 發布:2025-09-01 14:46:03 瀏覽:767
觸摸精靈的加密腳本 發布:2025-09-01 14:27:08 瀏覽:260
c語言c學那個好 發布:2025-09-01 14:06:22 瀏覽:600
手提箱怎麼設密碼 發布:2025-09-01 13:53:30 瀏覽:143
phpcmsv9附件上傳 發布:2025-09-01 13:41:46 瀏覽:63
軟體開發php 發布:2025-09-01 13:41:45 瀏覽:217
考試網站源碼 發布:2025-09-01 13:39:33 瀏覽:267