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.
Athena-Komprimierungs-Support
Themen
Athena unterstützt eine Vielzahl von Komprimierungsformate zum Lesen und Schreiben von Daten, einschließlich des Lesens aus einer Tabelle, die mehrere Komprimierungsformate verwendet. Zum Beispiel kann Athena die Daten in einer Tabelle erfolgreich lesen, die das Parquet-Dateiformat verwendet, wenn einige Parquet-Dateien mit Snappy komprimiert werden und andere Parquet-Dateien mit GZIP komprimiert werden. Das gleiche Prinzip gilt für ORC-, Textfile- und JSON-Speicherformate.
Athena unterstützt folgende Komprimierungsformate:
-
BZIP2 – Format, das den Burrows-Wheeler-Algorithmus verwendet.
-
ENTLEEREN (Deflate) – Komprimierungsalgorithmus basierend auf LZSS
und Huffman-Kodierung . Entleeren (Deflate) ist nur für das Avro-Dateiformat relevant. -
GZIP – Komprimierungsalgorithmus basierend auf Entleeren (Deflate). Für Hive-Tabellen in Athena-Engine-Version 2 und 3 und Iceberg-Tabellen in Athena-Engine-Version 2 ist GZIP das standardmäßige Schreibkomprimierungsformat für Dateien in den Parquet- und Textdateispeicherformaten. Dateien im
tar.gz
-Format werden nicht unterstützt. -
LZ4 – Dieses Mitglied der Lempel-Ziv 77 (LZ7)-Familie konzentriert sich auch auf die Komprimierungs- und Dekomprimierungsgeschwindigkeit und nicht auf die maximale Komprimierung von Daten. LZ4 hat die folgenden Framing-Formate:
-
LZ4 Roh/ungerahmt – Eine ungerahmte Standardimplementierung des LZ4-Blockkomprimierungsformats. Weitere Informationen finden Sie in der Beschreibung des LZ4-Blockformats
unter GitHub. -
LZ4 framed – Die übliche Framing-Implementierung von LZ4. Weitere Informationen finden Sie in der Beschreibung des LZ4-Frame-Formats
unter. GitHub -
LZ4 hadoop-kompatibel – Die Apache-Hadoop-Implementierung von LZ4. Diese Implementierung umschließt die LZ4-Komprimierung mit der BlockCompressorStream Klasse .java.
-
-
LZOO – Format, das den Lempel-Ziv-Oberhumer-Algorithmus verwendet, der sich eher auf eine hohe Komprimierungs- und Dekompressionsgeschwindigkeit als auf die maximale Komprimierung von Daten konzentriert. LZO hat zwei Implementierungen:
-
LZO-Standard – Weitere Informationen hierzu finden Sie im LZO-Abstract
auf der Oberhumer-Website. -
LZO-Hadoop-kompatibel — Diese Implementierung umschließt den LZO-Algorithmus mit der .java-Klasse. BlockCompressorStream
-
-
SNAPPY – Komprimierungsalgorithmus, der Teil der Lempel-Ziv-77(LZ7)-Familie ist. Snappy konzentriert sich eher auf eine hohe Komprimierungs- und Dekomprimierungsgeschwindigkeit als auf die maximale Komprimierung von Daten.
-
ZLIB – ZLIB basiert auf Deflate das Standard-Schreibkomprimierungsformat für Dateien im ORC-Datenspeicherformat. Weitere Informationen finden Sie auf der zlib-Seite unter.
GitHub -
ZSTD – Der Zstandard-Echtzeit-Datenkomprimierungsalgorithmus
ist ein schneller Komprimierungsalgorithmus, der hohe Komprimierungsverhältnisse bietet. Die Zstandard-Bibliothek (ZSTD) wird als Open-Source-Software unter Verwendung einer BSD-Lizenz bereitgestellt. ZSTD ist die Standardkomprimierung für Iceberg-Tabellen. Beim Schreiben komprimierter ZSTD-Daten verwendet Athena standardmäßig ZSTD-Komprimierungsstufe 3. Weitere Informationen zur Verwendung von ZSTD-Komprimierungsstufen in Athena finden Sie unter Verwendung von ZSTD-Komprimierungsstufen in Athena.
Festlegen von Komprimierungsformaten
Wenn Sie CREATE TABLE- oder CTAS-Anweisungen schreiben, können Sie Komprimierungseigenschaften angeben, die den Komprimierungstyp angeben, der verwendet werden soll, wenn Athena in diese Tabellen schreibt.
-
Für CTAS siehe CTAS-Tabelleneigenschaften. Beispiele finden Sie unter Beispiele für CTAS-Abfragen.
-
Für Informationen zu CREATE TABLE finden Sie unter ALTER TABLE SET TBLPROPERTIES eine Liste der Eigenschaften von Komprimierungstabellen.
Festlegen keiner Komprimierung
CREATE-TABLE-Anweisungen unterstützen das Schreiben unkomprimierter Dateien. Verwenden Sie die folgende Syntax, um unkomprimierte Dateien zu schreiben:
-
CREATE TABLE (Textdatei oder JSON) — In
TBLPROPERTIES
, spezifizierenwrite.compression = NONE
. -
CREATE TABLE (Parquet) — In
TBLPROPERTIES
, spezifizierenparquet.compression = UNCOMPRESSED
. -
CREATE TABLE (ORC) — In
TBLPROPERTIES
, spezifizierenorc.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. -
Athena bestimmt den Komprimierungstyp für Daten in den Formaten CSV, TSV und JSON 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 ORC-Dateien mit SNAPPY-Komprimierung.
-
Weitere Informationen zur Verwendung der Komprimierung finden Sie in Abschnitt 3 („Dateien komprimieren und aufteilen“) des AWS Big-Data-Blogbeitrags Die 10 besten Tipps zur Leistungsoptimierung für Amazon Athena
.