Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Compatibilidad con la compresión de Athena
Temas
Athena admite una variedad de formatos de compresión para leer y escribir datos, como la lectura de una tabla que utiliza varios formatos de compresión. Por ejemplo, Athena puede leer correctamente los datos de una tabla que utiliza el formato de archivo Parquet cuando algunos archivos Parquet se comprimen con Snappy y otros archivos Parquet se comprimen con GZIP. El mismo principio se aplica a los formatos de almacenamiento ORC, archivo de texto y JSON.
Athena es compatible con los siguientes formatos de compresión:
-
BZIP2: formato que utiliza el algoritmo Burrows-Wheeler.
-
DEFLATE: algoritmo de compresión basado en LZSS
y codificación Huffman . Deflate solo es relevante para el formato de archivo Avro. -
GZIP: algoritmo de compresión basado en Deflate. Para las tablas de Hive en las versiones 2 y 3 del motor Athena y las tablas de Iceberg en la versión 2 del motor Athena, GZIP es el formato de compresión de escritura predeterminado para los archivos con formato de almacenamiento de archivo de texto y Parquet. Los archivos con el formato
tar.gz
no son compatibles. -
LZ4: este miembro de la familia Lempel-Ziv 77 (LZ7) también se centra en la velocidad de compresión y descompresión en lugar de la máxima compresión de los datos. LZ4 tiene los siguientes formatos de encuadre:
-
LZ4 Raw/Unframed (LZ4 sin formato o sin encuadre): una implementación estándar y sin encuadre del formato de compresión de bloques LZ4. Para obtener más información, consulte la descripción del formato de bloque LZ4
en GitHub. -
LZ4 framed (LZ4 con encuadre): la implementación con el encuadre habitual de LZ4. Para obtener más información, consulte la descripción del formato de cuadro LZ4
en. GitHub -
LZ4 hadoop-compatible (LZ4 compatible con Hadoop): la implementación con Apache Hadoop de LZ4. Esta implementación combina la compresión LZ4 con la BlockCompressorStream clase .java.
-
-
LZO: formato que utiliza el algoritmo Lempel–Ziv–Oberhumer, que se centra en la alta velocidad de compresión y descompresión en lugar de la compresión máxima de datos. LZO tiene dos implementaciones:
-
Standard LZO (LZO estándar): para obtener más información, consulte el resumen
sobre LZO en el sitio web de Oberhumer. -
Compatible con Hadoop con LZO: esta implementación combina el algoritmo LZO con la clase .java. BlockCompressorStream
-
-
SNAPPY: algoritmo de compresión que forma parte de la familia Lempel-Ziv 77 (LZ7). Snappy se centra en la alta velocidad de compresión y descompresión en lugar de la máxima compresión de datos.
-
ZLIB: basado en Deflate, ZLIB es el formato de compresión de escritura predeterminado para archivos con el formato de almacenamiento de datos ORC. Para obtener más información, consulte la página de zlib en.
GitHub -
ZSTD: el algoritmo de compresión de datos en tiempo real Zstandard
es un algoritmo de compresión rápida que proporciona ratios altas de compresión. La biblioteca Zstandard (ZSTD) se proporciona como software de código abierto mediante una licencia BSD. ZSTD es la compresión predeterminada para las tablas de Iceberg. Cuando se escriben datos comprimidos con ZSTD, Athena utiliza el nivel 3 de compresión Zstandard. Para obtener información sobre el uso de los niveles de compresión ZSTD en Athena, consulte Uso de los niveles de compresión ZSTD en Athena.
Especificación de los formatos de compresión
Al escribir instrucciones CREATE TABLE o CTAS, puede especificar las propiedades de compresión que especifican el tipo de compresión que se utilizará cuando Athena escriba en esas tablas.
-
Para CTAS, consulte Propiedades de la tabla CTAS. Para ver ejemplos, consulte Ejemplos de consultas CTAS.
-
Para obtener información sobre CREATE TABLE, consulte ALTER TABLE SET TBLPROPERTIES para obtener una lista de las propiedades de la tabla de compresión.
Especificación sin compresión
Las declaraciones CREATE TABLE permiten escribir archivos sin comprimir. Para escribir archivos sin comprimir, utilice la siguiente sintaxis:
-
CREATE TABLE (archivo de texto o JSON): en
TBLPROPERTIES
, especifiquewrite.compression = NONE
. -
CREATE TABLE (Parquet): en
TBLPROPERTIES
, especifiqueparquet.compression = UNCOMPRESSED
. -
CREATE TABLE (ORC): en
TBLPROPERTIES
, especifiqueorc.compress = NONE
.
Notas y recursos
-
Actualmente, Athena no reconoce las extensiones de archivo en mayúsculas, como
.GZ
o.BZIP2
. Evite utilizar conjuntos de datos con extensiones de archivo en mayúsculas o cambie el nombre de las extensiones de archivo de datos a minúsculas. -
Para datos en CSV, TSV y JSON, Athena determina el tipo de compresión a partir de la extensión de archivo. Si no hay ninguna extensión de archivo, Athena trata los datos como texto sin formato y sin comprimir. Si los datos están comprimidos, asegúrese de que el nombre de archivo incluye la extensión de compresión como, por ejemplo,
gz
. -
No se admite el formato de archivo ZIP.
-
Para consultar los registros de Amazon Data Firehose desde Athena, los formatos compatibles incluyen la compresión GZIP o los archivos ORC con compresión SNAPPY.
-
Para obtener más información sobre el uso de la compresión, consulte la sección 3 («Comprimir y dividir archivos») de la entrada del blog sobre AWS big data Los 10 mejores consejos para ajustar el rendimiento de Amazon Athena
.