¿Cómo almaceno el resultado de una consulta de Amazon Athena en un formato de datos que no sea CSV?

2 minutos de lectura
0

Quiero almacenar los resultados de las consultas de Amazon Athena en un formato que no sea CSV, como JSON o Parquet.

Descripción breve

Athena solo admite archivos de salida CSV cuando ejecuta consultas SELECT. Para almacenar la salida de Athena en formatos que no sean CSV, elija una de las siguientes opciones:

La instrucción UNLOAD escribe el resultado de una consulta SELECT en uno de entre varios formatos de datos diferentes, pero no crea una tabla nueva. Una consulta de CTAS también escribe la salida en diferentes formatos de datos, pero crea una nueva tabla con esa salida. Tanto UNLOAD como CTAS admiten formatos como Apache Parquet, ORC, Apache Avro y JSON.

Nota: Tanto UNLOAD como CTAS admiten el particionado, pero solo CTAS admite la creación de grupos.

Resolución

Ejecución de una consulta UNLOAD

Para usar la instrucción UNLOAD, coloque la consulta SELECT entre paréntesis después de UNLOAD y especifique el tipo de archivo en una instrucción WITH. Por ejemplo, la siguiente consulta guarda el resultado de SELECT como un archivo JSON en el bucket amzn-s3-example-bucket de Amazon Simple Storage Service (Amazon S3):

UNLOAD (SELECT col1, col2 FROM example_table)
    TO 's3://amzn-s3-example-bucket/example_folder/'
  WITH (format = 'JSON')

Para obtener más información sobre cómo modificar la salida del archivo desde UNLOAD, consulte Parámetros.

Ejecución de una consulta de CTAS

Para almacenar el resultado de una consulta de CTAS en un formato que no sea CSV, configure la propiedad format en una instrucción WITH. Por ejemplo, la siguiente consulta crea una nueva tabla denominada ctas-parquet-example a partir de los datos devueltos por SELECT en formato Parquet:

`CREATE TABLE ctas_parquet_example   WITH (format = '`_`PARQUET`_`')     AS SELECT col1, col2, FROM example_table;`

Para obtener más información sobre los parámetros de CTAS, consulte Propiedades de la tabla CTAS.

Si solo necesita conservar el archivo de datos de salida, pero no la nueva tabla, suprima la tabla CTAS una vez finalizada la consulta.

Información relacionada

Consideraciones y limitaciones de las consultas CTAS

Ejemplos de consultas CTAS

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 4 meses