Búsqueda de archivos de salida de consulta en Amazon S3 - Amazon Athena

Búsqueda de archivos de salida de consulta en Amazon S3

Los archivos de salida de la consulta se almacenan en subcarpetas en Amazon S3 con el siguiente patrón de ruta, a menos que la consulta se produzca en un grupo de trabajo cuya configuración invalida la configuración del lado del cliente. Cuando la configuración del grupo de trabajo invalida la configuración del lado del cliente, la consulta utiliza la ruta de resultados especificada por el grupo de trabajo.

QueryResultsLocationInS3/[QueryName|Unsaved/yyyy/mm/dd/]
  • QueryResultsLocationInS3 es la ubicación del resultado de la consulta especificada por la configuración del grupo de trabajo o la configuración del lado del cliente. Para obtener más información, consulte Especificación de una ubicación de resultados de consulta más adelante en este documento.

  • Las siguientes subcarpetas se crean solo para las consultas ejecutadas desde la consola cuya ruta de resultados no ha sido invalidada por la configuración del grupo de trabajo. Las consultas que se ejecutan desde la AWS CLI o mediante la API de Athena se guardan directamente en QueryResultsLocationInS3.

    • QueryName es el nombre de la consulta cuyos resultados se guardan. Si la consulta se ejecutó pero no se guardó, se utiliza Unsaved.

    • aaaa/mm/dd es la fecha de ejecución de la consulta.

Los archivos asociados con una consulta CREATE TABLE AS SELECT se almacenan en una subcarpeta tables del patrón anterior.

Identificación de archivos de salida de consultas

Los archivos se guardan en la ubicación de resultados de las consultas de Amazon S3 en función del nombre, el ID y la fecha de ejecución de la consulta. A los archivos de cada consulta se les asigna nombre utilizando el QueryID, que es un identificador único que Athena asigna a cada consulta cuando se ejecuta.

Se guardan los siguientes tipos de archivos:

Tipo de archivo Patrones de nomenclatura de archivos Descripción

Archivos de resultados de consulta

QueryID.csv

QueryID.txt

Los archivos de resultados de consulta DML se guardan en un formato de valores separados por comas (CSV).

Los resultados de la consulta DDL se guardan como archivos de texto sin formato.

Puede descargar los archivos de resultados desde el panel Results (Resultados) de la consola cuando utilice la consola o desde el historial de consultas. Para obtener más información, consulte Descarga de archivos de resultados de consultas mediante la consola de Athena.

Archivos de metadatos de consulta

QueryID.csv.metadata

QueryID.txt.metadata

Los archivos de metadatos de consulta DML y DDL se guardan en formato binario y no son legibles por el usuario. La extensión del archivo corresponde al archivo de resultados de consulta relacionado. Athena utiliza los metadatos al leer los resultados de la consulta mediante la acción GetQueryResults. Aunque estos archivos se pueden eliminar, no lo recomendamos porque se pierde información importante sobre la consulta.

Archivos de manifiesto de datos

QueryID-manifest.csv

Los archivos de manifiesto de datos se generan para realizar un seguimiento de los archivos que Athena crea en las ubicaciones de origen de datos de Amazon S3 cuando se ejecuta una consulta INSERT INTO. Si se produce un error en una consulta, el manifiesto también realiza un seguimiento de los archivos que la consulta pretendía escribir. El manifiesto resulta útil para identificar los archivos que se quedaron huérfanos tras una consulta fallida.

Para utilizar la AWS CLI para identificar la ubicación de salida y los archivos de resultados de la consulta, ejecute el comando aws athena get-query-execution, como se muestra en el siguiente ejemplo. Sustituya abc1234d-5efg-67hi-jklm-89n0op12qr34 por el ID de la consulta.

aws athena get-query-execution --query-execution-id abc1234d-5efg-67hi-jklm-89n0op12qr34

El comando devuelve un resultado similar al siguiente. Para ver una descripción de cada parámetro de salida, consulte get-query-execution en la Referencia de comandos de la AWS CLI.

{ "QueryExecution": { "Status": { "SubmissionDateTime": 1565649050.175, "State": "SUCCEEDED", "CompletionDateTime": 1565649056.6229999 }, "Statistics": { "DataScannedInBytes": 5944497, "DataManifestLocation": "s3://amzn-s3-demo-bucket/athena-query-results-123456789012-us-west-1/MyInsertQuery/2019/08/12/abc1234d-5efg-67hi-jklm-89n0op12qr34-manifest.csv", "EngineExecutionTimeInMillis": 5209 }, "ResultConfiguration": { "EncryptionConfiguration": { "EncryptionOption": "SSE_S3" }, "OutputLocation": "s3://amzn-s3-demo-bucket/athena-query-results-123456789012-us-west-1/MyInsertQuery/2019/08/12/abc1234d-5efg-67hi-jklm-89n0op12qr34" }, "QueryExecutionId": "abc1234d-5efg-67hi-jklm-89n0op12qr34", "QueryExecutionContext": {}, "Query": "INSERT INTO mydb.elb_log_backup SELECT * FROM mydb.elb_logs LIMIT 100", "StatementType": "DML", "WorkGroup": "primary" } }