2016-06-23 9 views
1

Ich muss 100 Textdateien in HDFS hochladen, um eine Datentransformation mit Apache Pig durchzuführen.Apache Hadoop: Einfügen von komprimierten Daten in HDFS

In Sie Meinung nach, was ist die beste Option:

a) alle Textdateien komprimieren und nur eine Datei,

b) Legen Sie alle Textdateien einzeln hochladen?

Antwort

0

Es hängt von Ihrer Dateigröße, Cluster-Parameter und Verarbeitungsmethoden ab.

Wenn Ihre Textdateien in der Größe mit der HDFS-Blockgröße vergleichbar sind (z. B. Blockgröße = 256 MB, Dateigröße = 200 MB), ist es sinnvoll, sie so zu laden, wie sie ist.

Wenn Ihre Textdateien sehr klein sind, gibt es typische HDFS & kleine Dateien Problem - jede Datei wird 1 hdfs Block belegen (nicht physisch), so NameNode (die Metadaten behandelt) wird einige Overhead bei der Verwaltung viele Blöcke . Um das Problem zu lösen, können Sie Ihre Dateien entweder zusammenführen, Hadoop-Archive (HAR) oder ein benutzerdefiniertes Dateiformat (zB Sequence Files) verwenden.

Wenn ein benutzerdefiniertes Format verwendet wird, müssen Sie zusätzliche Arbeit mit der Verarbeitung ausführen - es ist erforderlich, benutzerdefinierte Eingabeformate zu verwenden.

Meiner Meinung nach ist 100 nicht so viel, um die Leistung von NameNode signifikant zu beeinflussen, also scheinen beide Optionen lebensfähig zu sein.

Verwandte Themen