當前位置:首頁 » 存儲配置 » 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

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:585
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:881
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:574
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:761
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:677
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1005
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:250
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:108
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:799
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:705