2009-08-03 9 views
0

Gibt es einen Unterschied zwischen n Dateien mit jeweils 1 Zeile im Eingabeordner und 1 Datei mit n Zeilen im Eingabeordner beim Ausführen von hadoop?Hadoop-Eingabedateien

Wenn es n Dateien gibt, sieht das "InputFormat" nur alles als 1 kontinuierliche Datei?

Antwort

3

Es gibt einen großen Unterschied. Es wird häufig als "Problem mit kleinen Dateien" bezeichnet und hat damit zu tun, dass Hadoop erwartet, riesige Eingaben in kleinere Aufgaben aufzuteilen, aber keine kleinen Eingaben in größere Aufgaben zu sammeln.

Werfen Sie einen Blick auf diesen Blog-Post von Cloudera: http://www.cloudera.com/blog/2009/02/02/the-small-files-problem/

Wenn Sie vermeiden können viele Dateien erstellen, so tun. Verketten wenn möglich. Große teilbare Dateien sind VIEL besser für Hadoop.

Ich einmal lief Schwein auf dem Netflix-Datensatz. Es dauerte Stunden, ein paar Gigs zu bearbeiten. Ich verkettete dann die Eingabedateien (ich glaube, es war eine Datei pro Film oder eine Datei pro Benutzer) in einer einzigen Datei - hatte mein Ergebnis in Minuten.