2017-05-29 1 views
1

Wir verwenden Spark, um Parkett-Dateien auf HDFS zu erzeugen.Parkett Metadatendateien nützlich auf HDFS?

Spark generieren 4 Dateien, das Parkett mit Daten und 3 Metadaten-Dateien. Die Sache ist, die 3 Meta-Dateien nehmen 1 Block, hier 128M, wie wir viele Aufgaben wie diese ausführen, könnte dies viel Platz für nichts nehmen.

Werden Dateien benötigt? Oder ist es ein guter Weg, damit umzugehen?

+0

Ohne die Metadaten ist es ziemlich schwierig, die Parquet-Dateien zu verstehen. – LiMuBei

+0

Wir verwenden Hive als Data Warehouse, Abfrage mit PrestoDB und Hive –

+1

_ "Meta-Dateien nehmen 1 Block, hier 128M ... könnte viel Platz nehmen" _ >> ** Nr. ** Die HDFS Blockgröße hat keine erhebliche Auswirkungen auf _physical_ Datenträgerverwendung. Es geht um die logische Verteilung von Daten für große Dateien. Wenn ein Client in eine HDFS-Datei schreibt, wenn der aktuelle Block 128 MB erreicht, wird ein neuer Block erstellt (und auf Zufallsknoten repliziert). aber am Ende wird jeder Block als normale Linux-Datei Byte für Byte gespeichert (plus einige Metadaten in einer zusätzlichen Linux-Datei). –

Antwort

3

Die Metadatendatei im Parkettausgabeordner ist optional und wird nicht benötigt, um Parkettdateien einzulesen, da in jeder Parkettdatei Metadaten eingebettet sind.

Auf der anderen Seite wird es von thrift benötigt, um diese Dateien zu lesen.

In Spark 2.0, Parkett-Übersichtsdateien standardmäßig schreiben. [Ref. SPARK-15719.]

+0

Schön danke, damit ich es sicher entfernen kann. Weißt du, ob es möglich ist, '' ENABLE_JOB_SUMMARY'' mit Spark 1.6.2 auf 'false' zu setzen? –

+0

Ich bin mir nicht sicher, ob ein solches conf in Parkett vor Funken 2 existiert. – eliasah