2016-04-05 4 views
0

Ich habe zwei Skripts, die Daten aus unformatierten Protokollen analysieren und sie in ORC-Tabellen in HIVE schreiben. Ein Skript erstellt mehr Spalten und ein anderes weniger. Beide Tabellen durch date Feld partitioniert.Bienenstock. Überprüfen Sie die Stripe-Größe für den vorhandenen ORC-Speicher

Als Ergebnis habe ich ORC-Tabellen mit verschiedenen Größen von Dateien. Tabelle mit einer größeren Anzahl von Spalten besteht aus vielen kleinen Dateien (~ 4 MB pro Datei innerhalb jeder Partition) und Tabellen mit weniger Spalten bestehen aus wenigen großen Dateien (~ 250 MB pro Datei innerhalb jeder Partition).

Ich nehme an, es passiert wegen der stripe.size Einstellung in ORC. Aber ich weiß nicht, wie man Größe des Streifens für vorhandene Tabelle überprüft. Befehle wie "show create" und "describe" zeigen keine benutzerdefinierten Einstellungen an, dh die Stripe-Größe für Tabellen sollte 256 MB entsprechen.

Ich bin auf der Suche nach einem Ratschlag zu überprüfen stripe.size für vorhandene ORC-Tabelle. Oder Erklärung, wie Dateigröße innerhalb ORC-Tabellen von Daten in diesen Tabellen abhängt.

P.s.Es zählt später, wenn ich von diesen Tabellen mit Map Reduce lese und es gibt eine kleine Anzahl von Reducern für Tabellen mit großen Dateien.

Antwort

0

Probieren Sie das Hive ORC File Dump Dienstprogramm: ORC File Dump Utility.

+0

Vielen Dank für das Teilen. Ich habe ein paar Dumps gemacht, aber ich kann nichts Nützliches aus der Ausgabe herausfinden. Zum Beispiel sehe ich, dass kleine Dateien nur zwei Streifen haben, während große Dateien 62 Streifen haben. Es gibt mir keine Ahnung davon, wie ich mein Problem lösen könnte :) – Samriang