Ich las über Hadoops HDFS und erfuhr, dass hadoop eine kleinere Anzahl von größeren Dateien als eine große Anzahl von kleinen Dateien verarbeiten soll.Metadaten für große und kleine Dateien in Bezug auf Hadoop
Der Grund dafür ist, dass, wenn es eine größere Anzahl von kleinen Dateien gibt, Namenode's
Speicher schnell weg gegessen wird. Ich habe Schwierigkeiten, dieses Argument zu verstehen.
ich das folgende Szenario:
1000 kleine Dateien und die jeweils eine Größe von 128 MB (die gleiche Blockgröße von hdfs Block).
Also, das würde 1000 Einträge im Namenode-Speicher bedeuten, der diese Information enthält. Jetzt
, sollten Sie die folgenden Szenarien:
eine einzige große Datei, die 128 MB * 1000 Blockgröße hat.
Jetzt wird Nameode nicht 1000 Einträge für diese BIG-Datei haben?
Ist diese Schlussfolgerung korrekt, dass in beiden Fällen der Nameode die gleiche Anzahl von Einträgen in Bezug auf die Blockinformationen der Datei im Speicher hätte? Wenn ja, wie kommt es, dass hadoop für eine kleine Anzahl von größeren Dateien und nicht für eine größere Anzahl von kleinen Dateien effizient ist?
Kann jemand helfen, dies zu verstehen?
Danke für Ihre Antwort, was ist die Quelle, ist es ein Buch? Können Sie mir bitte Bescheid geben, damit ich auf das gleiche Material verweisen kann? – CuriousMind
Ein Cloudera Blogbeitrag von TomWhite. Siehe [link] (http://blog.cloudera.com/blog/2009/02/the-small-files-problem/) – franklinsijo