Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Spaltenbasierte Speicherformate verwenden
Apache Parquet
Spaltenbasierte Speicherformate haben die folgenden Eigenschaften, wodurch sie sich für die Verwendung mit Athena eignen:
-
Komprimierung nach Spalten, wobei der Komprimierungsalgorithmus für den Spaltendatentyp ausgewählt wurde, um Speicherplatz in Amazon S3 zu sparen und den Festplattenspeicher sowie I/O während der Abfrageverarbeitung zu reduzieren.
-
Prädikat-Pushdown in Parquet und ORC ermöglicht Athena-Abfragen, um nur die tatsächlich benötigten Blöcke abzurufen, wobei die Abfrageleistung verbessert wird. Wenn eine Athena-Abfrage bestimmte Spaltenwerte aus Ihren Daten erhält, verwendet sie Statistiken aus Datenblockprädikaten, z. B. max/min Werten, um zu bestimmen, ob der Block gelesen oder übersprungen werden soll.
-
Das Aufteilen von Daten in Parquet und ORC ermöglicht Athena das Lesen von Daten an mehrere Leser und die Erhöhung der Parallelität während der Abfrageverarbeitung.
Um Ihre vorhandenen Rohdaten aus anderen Speicherformaten in Parquet oder ORC zu konvertieren, können Sie CREATE TABLE AS SELECT (CTAS) -Abfragen in Athena ausführen und ein Datenspeicherformat als Parquet oder ORC angeben oder den Crawler verwenden. AWS Glue
Wählen Sie zwischen Parquet und ORC
Die Wahl zwischen ORC (Optimized Row Columnar) und Parquet hängt von Ihren spezifischen Nutzungsanforderungen ab.
Apache Parquet bietet effiziente Datenkomprimierungs- und Kodierungsschemata und ist ideal für die Ausführung komplexer Abfragen und die Verarbeitung großer Datenmengen. Parquet ist für die Verwendung mit Apache Arrow
ORC bietet eine effiziente Möglichkeit, Hive-Daten zu speichern. ORC-Dateien sind oft kleiner als Parquet-Dateien, und ORC-Indizes können Abfragen beschleunigen. Darüber hinaus unterstützt ORC komplexe Typen wie Strukturen, Maps und Listen.
Wenn Sie zwischen Parquet und ORC wählen, sollten Sie die folgenden Faktoren berücksichtigen:
Abfrageleistung – Da Parquet eine breitere Palette von Abfragetypen unterstützt, ist Parquet möglicherweise die bessere Wahl, wenn Sie komplexe Abfragen ausführen möchten.
Komplexe Datentypen – Wenn Sie komplexe Datentypen verwenden, ist ORC möglicherweise die bessere Wahl, da es ein breiteres Spektrum an komplexen Datentypen unterstützt.
Dateigröße – Wenn der Speicherplatz ein Problem darstellt, führt ORC in der Regel zu kleineren Dateien, wodurch die Speicherkosten gesenkt werden können.
Komprimierung – Sowohl Parquet als auch ORC bieten eine gute Komprimierung, aber welches Format für Sie am besten geeignet ist, hängt von Ihrem spezifischen Anwendungsfall ab.
Evolution – Sowohl Parquet als auch ORC unterstützen die Schemaentwicklung, was bedeutet, dass Sie im Laufe der Zeit Spalten hinzufügen, entfernen oder ändern können.
Sowohl Parquet als auch ORC sind eine gute Wahl für Big-Data-Anwendungen. Berücksichtigen Sie jedoch die Anforderungen Ihres Szenarios, bevor Sie sich entscheiden. Möglicherweise möchten Sie Benchmarks für Ihre Daten und Abfragen durchführen, um herauszufinden, welches Format für Ihren Anwendungsfall besser geeignet ist.
Konvertieren in spaltenbasierte Formate
Optionen zum einfachen Konvertieren von Quelldaten wie JSON oder CSV in ein Säulenformat, umfassen die Verwendung von CREATE TABLE AS-Abfragen oder das Ausführen von Aufträgen in AWS Glue.
-
Sie können
CREATE TABLE AS(CTAS)-Abfragen verwenden, um Daten in Parquet oder ORC in einem Schritt zu konvertieren. Ein Beispiel finden Sie unter Beispiel: Schreiben von Abfrageergebnissen in ein anderes Format auf der Beispiele für CTAS-Abfragen-Seite. -
Informationen zur Verwendung von Athena für ETL zur Umwandlung von Daten aus CSV in Parquet finden Sie unter Verwenden von CTAS und INSERT INTO für ETL und Datenanalyse.
-
Informationen zur Ausführung eines AWS Glue Jobs zur Transformation von CSV-Daten in das Parquet-Format finden Sie im Abschnitt „Transformieren der Daten vom CSV- in das Parquet-Format“ im AWS Big-Data-Blogbeitrag Build a Data Lake Foundation with AWS Glue and Amazon S3
. AWS Glue unterstützt die Verwendung derselben Technik zur Konvertierung von CSV-Daten in ORC oder von JSON-Daten in Parquet oder ORC.