小檔案處理 HDFS

2021-09-29 13:05:33 字數 599 閱讀 1729

1.儲存:hdfs可以儲存小檔案,但是這個過程中,每乙個小檔案在儲存的時候都會產生一條元資料,這也就意味著如果儲存大量的小檔案,就會產生大量的元資料,則意味著記憶體會被大量占用,此時就會導致hdfs的讀寫效率整體降低

2.計算:每乙個小檔案都會看做乙個切片來進行處理,每乙個切片都會對應乙個maptask。如果處理大量的小檔案,這意味著要產生大量的maptask,maptask本質上是執行緒,大量的maptask意味著產生大量的執行緒,如果執行緒數量過多,會導致伺服器崩潰

hadoop中提供了最原生的合併手段

hadoop中提供了最原生的合併手段:hadoop archive - 官方解釋是將某些小檔案打成了乙個har包,實際上並不是打包而是將所有的小檔案合併成乙個大檔案

使用har時需要兩點:

第一,對小檔案進行存檔後,原檔案並不會自動被刪除,需要使用者自己刪除;

第二,建立har檔案的過程實際上是在執行乙個mapreduce作業,因而需要有乙個hadoop集群執行此命令。

命令:hadoop archive -archivename .har -p [-r ]*

HDFS合併小檔案

眾所周知,hdfs中過多的小檔案,會給namenode造成很大的壓力,所謂的小檔案,是指遠遠小於檔案塊大小的檔案。在使用hdfs的過程中,應盡量避免生成過多的小檔案。假設存放在本地的資料由很多個小檔案組成,需要上傳到hdfs。一般的做法是在本地使用指令碼 程式先把小檔案合併後再上傳。假設本地有兩個小...

HDFS小檔案問題

1 概述 小檔案是指檔案size小於hdfs上block大小的檔案。這樣的檔案會給hadoop的擴充套件性和效能帶來嚴重問題。首先,在hdfs中,任何block,檔案或者目錄在記憶體中均以物件的形式儲存,每個物件約佔150byte,如果有1000 0000個小檔案,每個檔案占用乙個block,則na...

HDFS小檔案的危害

一 black塊 舉例 black塊官方設定的是64m,現在多數用的是128m 舉例 乙個檔案130m 128m 1 2m 結果是1個塊128m,1個塊2m 一碗水130ml 乙個瓶子規格容量128ml 只能2個瓶子 第1個裝滿128ml 第二個裝不滿,實為2ml 二 小檔案的危害 hdfs 適應場...