Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Usa la compressione in Athena
Athena supporta diversi formati di compressione per la lettura e la scrittura di dati, inclusa la lettura da una tabella che utilizza più formati di compressione. Ad esempio, Athena può leggere correttamente i dati in una tabella che utilizza il formato file Parquet quando alcuni file Parquet vengono compressi con Snappy e altri file Parquet vengono compressi con GZIP. Lo stesso principio vale per i formati di archiviazione ORC, file di testo e JSON.
Athena supporta i seguenti formati di compressione:
-
BZIP2 — Formato che utilizza l'algoritmo Burrows-Wheeler.
-
DEFLATE: algoritmo di compressione basato su LZSS
e codifica Huffman . Deflate è rilevante solo per il formato file Avro. -
GZIP: algoritmo di compressione basato su Deflate. Per le tabelle Hive nel motore Athena versioni 2 e 3 e le tabelle Iceberg nel motore Athena versione 2, il formato di compressione in scrittura predefinito per i file nei formati di archiviazione dei file di testo e Parquet è GZIP. I file nel formato
tar.gz
non sono supportati. -
LZ4— Questo membro della famiglia Lempel-Ziv 77 (LZ7) si concentra anche sulla velocità di compressione e decompressione piuttosto che sulla compressione massima dei dati. LZ4 ha i seguenti formati di inquadratura:
-
LZ4 Raw/Unframed: implementazione standard senza cornice del formato di compressione a blocchi. LZ4 Per ulteriori informazioni, vedere la descrizione del formato a blocchi su. LZ4
GitHub -
LZ4 framed: la consueta implementazione del framing di. LZ4 Per ulteriori informazioni, vedere la descrizione del formato del LZ4 frame
su. GitHub -
LZ4 hadoop-compatible: l'implementazione di Apache Hadoop di. LZ4 Questa implementazione include la compressione con la classe .java. LZ4 BlockCompressorStream
-
-
LZO: formato che utilizza l'algoritmo Lempel-Ziv-Oberhumer, che si concentra sull'elevata velocità di compressione e decompressione anziché sulla compressione massima dei dati. LZO ha due implementazioni:
-
LZO standard: per ulteriori informazioni, consulta il riassunto
su LZO sul sito Web di Oberhumer. -
Compatibile con LZO con hadoop: questa implementazione racchiude l'algoritmo LZO con la classe .java. BlockCompressorStream
-
-
SNAPPY — Algoritmo di compressione che fa parte della famiglia Lempel-Ziv 77 (). LZ7 Snappy si concentra sull'elevata velocità di compressione e decompressione piuttosto che sulla compressione massima dei dati.
-
ZLIB: basato su Deflate, ZLIB è il formato di compressione della scrittura di default per i file nel formato di archiviazione dati ORC. Per ulteriori informazioni, consulta la pagina zlib su.
GitHub -
ZSTD: l'algoritmo di compressione dei dati in tempo reale Zstandard
è un algoritmo di compressione veloce che fornisce rapporti di compressione elevati. La libreria Zstandard (ZSTD) viene fornita come software open source tramite una licenza BSD. ZSTD è la compressione predefinita per le tabelle Iceberg. Quando si scrivono dati compressi ZSTD, Athena utilizza il livello di compressione ZSTD 3 per impostazione predefinita. Per ulteriori informazioni sui livelli di compressione ZSTD in Athena, consulta Usa i livelli di compressione ZSTD.
Nota
Athena non supporta la scrittura di file Parquet compressi con LZ4 o formati LZO. Le letture per questi formati di compressione sono supportate.
Specificare i formati di compressione
Quando si scrivono istruzioni CREATE TABLE o CTAS, è possibile specificare le proprietà di compressione che specificano il tipo di compressione da utilizzare quando Athena scrive su tali tabelle.
-
Per CTAS, consultare Proprietà tabella CTAS. Per alcuni esempi, consulta Esempi di query CTAS.
-
Per CREATE TABLE, consultare ALTER TABLE SET TBLPROPERTIES per un elenco delle proprietà della tabella di compressione.
Specificare nessuna compressione
Le istruzioni CREATE TABLE supportano la scrittura di file non compressi. Per scrivere file non compressi, utilizza la sintassi seguente:
-
CREATE TABLE (file di testo o JSON): in
TBLPROPERTIES
, specificawrite.compression = NONE
. -
CREATE TABLE (Parquet): in
TBLPROPERTIES
, specificaparquet.compression = UNCOMPRESSED
. -
CREATE TABLE (ORC): in
TBLPROPERTIES
, specificaorc.compress = NONE
.
Note e risorse
-
Attualmente, estensioni di file in lettere maiuscole come
.GZ
o.BZIP2
non sono riconosciute da Athena. Evitare di utilizzare set di dati con estensioni di file in lettere maiuscole o rinominare le estensioni dei file di dati in lettere minuscole. -
Per i dati in CSV, TSV e JSON, Athena determina il tipo di compressione dall'estensione del file. Se non è presente alcuna estensione di file, i dati vengono gestiti da Athena come testo normale non compresso. Se i dati sono compressi, verifica che il nome del file includa l'estensione della compressione, ad esempio
gz
. -
Il formato di file ZIP non è supportato.
-
Per interrogare i log di Amazon Data Firehose da Athena, i formati supportati includono la compressione GZIP o i file ORC con compressione SNAPPY.
-
Per ulteriori informazioni sull'uso della compressione, consulta la sezione 3 («Comprimi e dividi file») del post del blog AWS Big Data I 10 migliori consigli per l'ottimizzazione delle prestazioni per Amazon Athena
.