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.
Verwenden Sie die Komprimierung in Athena
Athena unterstützt eine Vielzahl von Komprimierungsformate zum Lesen und Schreiben von Daten, einschließlich des Lesens aus einer Tabelle, die mehrere Komprimierungsformate verwendet. Athena kann beispielsweise erfolgreich die Daten in einer Tabelle lesen, die das Parquet-Dateiformat verwendet, wenn einige Parquet-Dateien mit Snappy und andere Parquet-Dateien mit komprimiert werden. GZIP Das gleiche Prinzip gilt für ORC Textdatei- und JSON Speicherformate.
Athena unterstützt folgende Komprimierungsformate:
-
BZIP2— Format, das den Burrows-Wheeler-Algorithmus verwendet.
-
DEFLATE— Komprimierungsalgorithmus, der auf der Huffman-Codierung basiert. LZSS
Entleeren (Deflate) ist nur für das Avro-Dateiformat relevant. -
GZIP— Auf Deflate basierender Komprimierungsalgorithmus. Für Hive-Tabellen in den Athena-Engine-Versionen 2 und 3 und Iceberg-Tabellen in Athena-Engine-Version 2 GZIP ist dies das Standard-Schreibkomprimierungsformat für Dateien in den Speicherformaten Parquet und Textdatei. Dateien im
tar.gz
-Format werden nicht unterstützt. -
LZ4— Dieses Mitglied der Lempel-Ziv 77 (LZ7) -Familie konzentriert sich auch eher auf die Komprimierungs- und Dekomprimierungsgeschwindigkeit als auf die maximale Komprimierung von Daten. LZ4hat die folgenden Framing-Formate:
-
LZ4Raw/Unframed — Eine ungerahmte Standardimplementierung des Blockkomprimierungsformats. LZ4 Weitere Informationen finden Sie in der Beschreibung des LZ4Blockformats
unter. GitHub -
LZ4framed — Die übliche Framing-Implementierung von. LZ4 Weitere Informationen finden Sie in der Beschreibung des LZ4 Frame-Formats
unter GitHub. -
LZ4hadoop-compatible — Die Apache Hadoop-Implementierung von. LZ4 Diese Implementierung umschließt die LZ4 Komprimierung mit der .java-Klasse. BlockCompressorStream
-
-
LZO— Format, das den Lempel-Ziv-Oberhumer-Algorithmus verwendet, der sich eher auf eine hohe Komprimierungs- und Dekomprimierungsgeschwindigkeit als auf die maximale Komprimierung von Daten konzentriert. LZOhat zwei Implementierungen:
-
Standard LZO — Weitere Informationen finden Sie in der LZO Zusammenfassung auf der Website
von Oberhumer. -
LZOHadoop-kompatibel — Diese Implementierung umschließt den Algorithmus mit der LZO Klasse .java. BlockCompressorStream
-
-
SNAPPY— Komprimierungsalgorithmus, der Teil der Lempel-Ziv 77 () -Familie ist. LZ7 Snappy konzentriert sich eher auf eine hohe Komprimierungs- und Dekomprimierungsgeschwindigkeit als auf die maximale Komprimierung von Daten.
-
ZLIB— Basiert auf Deflate und ZLIB ist das standardmäßige Schreibkomprimierungsformat für Dateien im Datenspeicherformat. ORC Weitere Informationen finden Sie auf der zlib-Seite
unter. GitHub -
ZSTD— Der Zstandard-Algorithmus für die Echtzeit-Datenkomprimierung
ist ein schneller Komprimierungsalgorithmus, der hohe Komprimierungsraten bietet. Die Zstandard (ZSTD) -Bibliothek wird als Open-Source-Software unter Verwendung einer BSD Lizenz bereitgestellt. ZSTDist die Standardkomprimierung für Iceberg-Tabellen. Beim Schreiben ZSTD komprimierter Daten verwendet Athena standardmäßig die ZSTD Komprimierungsstufe 3. Weitere Hinweise zur Verwendung von ZSTD Komprimierungsstufen in Athena finden Sie unterVerwenden Sie ZSTD Kompressionsstufen.
Anmerkung
Athena unterstützt das Schreiben von Parquet-Dateien, die mit LZ4 oder LZO -Formaten komprimiert sind, nicht. Lesevorgänge für diese Komprimierungsformate werden unterstützt.
Geben Sie die Komprimierungsformate an
Wenn Sie CREATE TABLE CTAS OR-Anweisungen schreiben, können Sie Komprimierungseigenschaften angeben, die den Komprimierungstyp angeben, der verwendet werden soll, wenn Athena in diese Tabellen schreibt.
-
Näheres CTAS dazu finden Sie unterCTASEigenschaften von Tabellen. Beispiele finden Sie unter Beispiele für CTAS Abfragen.
-
Eine Liste der Eigenschaften von Komprimierungstabellen finden Sie unterALTER TABLE SET TBLPROPERTIES. CREATE TABLE
Geben Sie keine Komprimierung an
CREATETABLEAnweisungen unterstützen das Schreiben unkomprimierter Dateien. Verwenden Sie die folgende Syntax, um unkomprimierte Dateien zu schreiben:
-
CREATETABLE(Textdatei oderJSON) — Geben Sie
TBLPROPERTIES
anwrite.compression = NONE
. -
CREATETABLE(Parkett) — Geben
TBLPROPERTIES
Sie anparquet.compression = UNCOMPRESSED
. -
CREATETABLE(ORC) — Geben
TBLPROPERTIES
Sie anorc.compress = NONE
.
Notizen und Ressourcen
-
Derzeit werden Großbuchstaben-Dateierweiterungen wie
.GZ
oder.BZIP2
von Athena nicht anerkannt. Vermeiden Sie die Verwendung von Datensätzen mit Dateierweiterungen in Großbuchstaben oder benennen Sie die Datendateierweiterungen in Kleinbuchstaben um. -
Für Daten in CSV TSVJSON, und bestimmt Athena den Komprimierungstyp anhand der Dateierweiterung. Wenn keine Dateierweiterung vorhanden ist, behandelt Athena die Daten als unkomprimierten Klartext. Wenn Ihre Daten komprimiert sind, stellen Sie sicher, dass der Dateiname die Komprimierungserweiterung enthält, z. B.
gz
. -
Das ZIP Dateiformat wird nicht unterstützt.
-
Für die Abfrage von Amazon Data Firehose-Protokollen von Athena umfassen die unterstützten Formate GZIP Komprimierung oder komprimierte ORC Dateien. SNAPPY
-
Weitere Informationen zur Verwendung der Komprimierung finden Sie in Abschnitt 3 („Dateien komprimieren und aufteilen“) der AWS Big-Data-Blogbeitrag Die 10 besten Tipps zur Leistungsoptimierung für Amazon Athena
.