hdfs小檔案問題及解決

2021-10-12 06:49:35 字數 348 閱讀 4394

乙個檔案塊占用 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...