Ich führe einige Tests mit den mit Hive verfügbaren Speicherformaten durch und verwende Parkett und ORC als Hauptoptionen. Ich habe ORC einmal mit Standardkomprimierung und einmal mit Snappy aufgenommen.
Ich habe viele Dokumente gelesen, in denen angegeben ist, dass Parkett im Vergleich zu ORC eine bessere zeitliche / räumliche Komplexität aufweist, aber meine Tests stehen im Gegensatz zu den Dokumenten, die ich durchlaufen habe.
Folgt einigen Details meiner Daten.
Table A- Text File Format- 2.5GB
Table B - ORC - 652MB
Table C - ORC with Snappy - 802MB
Table D - Parquet - 1.9 GB
Parkett war am schlimmsten, was die Komprimierung meines Tisches betrifft.
Meine Tests mit den obigen Tabellen ergaben folgende Ergebnisse.
Zeilenzähloperation
Text Format Cumulative CPU - 123.33 sec
Parquet Format Cumulative CPU - 204.92 sec
ORC Format Cumulative CPU - 119.99 sec
ORC with SNAPPY Cumulative CPU - 107.05 sec
Summe einer Spaltenoperation
Text Format Cumulative CPU - 127.85 sec
Parquet Format Cumulative CPU - 255.2 sec
ORC Format Cumulative CPU - 120.48 sec
ORC with SNAPPY Cumulative CPU - 98.27 sec
Durchschnitt einer Spaltenoperation
Text Format Cumulative CPU - 128.79 sec
Parquet Format Cumulative CPU - 211.73 sec
ORC Format Cumulative CPU - 165.5 sec
ORC with SNAPPY Cumulative CPU - 135.45 sec
Auswählen von 4 Spalten aus einem bestimmten Bereich mit der where-Klausel
Text Format Cumulative CPU - 72.48 sec
Parquet Format Cumulative CPU - 136.4 sec
ORC Format Cumulative CPU - 96.63 sec
ORC with SNAPPY Cumulative CPU - 82.05 sec
Bedeutet das, dass ORC schneller ist als Parkett? Oder gibt es etwas, das ich tun kann, damit es mit der Antwortzeit der Abfrage und dem Komprimierungsverhältnis besser funktioniert?
Vielen Dank!