乙個檔案塊占用 namenode 150位元組 的記憶體,
那麼如果有1億個小檔案 的話,每個佔namenode150位元組的記憶體,非常大.
小檔案的話不滿128m,都是乙個檔案對應乙個maptask.
如果乙個maptask占用1g記憶體,那麼你的記憶體就會被耗盡.
第一種是採用har歸檔將多個小檔案歸檔到乙個檔案裡面,總共只占用namenode 記憶體的150位元組.
第二種是使用自定義的inputformat把資料放入到sequencefile裡面
採用combinefileiputformat(相當於將小檔案進行聚合,然後再進行切片)
jvm重用(如果沒有小檔案,不要開啟jvm重用)
HDFS小檔案問題及解決方案
1 概述 小檔案是指檔案size小於hdfs上block大小的檔案。這樣的檔案會給hadoop的擴充套件性和效能帶來嚴重問題。首先,在hdfs中,任何block,檔案或者目錄在記憶體中均以物件的形式儲存,每個物件約佔150byte,如果有1000 0000個小檔案,每個檔案占用乙個block,則na...
HDFS小檔案問題及解決方案
1 概述 小檔案是指檔案size小於hdfs上block大小的檔案。這樣的檔案會給hadoop的擴充套件性和效能帶來嚴重問題。首先,在hdfs中,任何block,檔案或者目錄在記憶體中均以物件的形式儲存,每個物件約佔150byte,如果有1000 0000個小檔案,每個檔案占用乙個block,則na...
HDFS小檔案問題及解決方案
1 概述 小檔案是指檔案size小於hdfs上block大小的檔案。這樣的檔案會給hadoop的擴充套件性和效能帶來嚴重問題。首先,在hdfs中,任何block,檔案或者目錄在記憶體中均以物件的形式儲存,每個物件約佔150byte,如果有1000 0000個小檔案,每個檔案占用乙個block,則na...