Ejemplos de Athena usando AWS CLI - AWS SDKEjemplos de código

Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples.

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.

Ejemplos de Athena usando AWS CLI

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso de AWS Command Line Interface Athena.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

En el siguiente ejemplo de código se muestra cómo usar batch-get-named-query.

AWS CLI

Para devolver información sobre más de una consulta

En el siguiente batch-get-named-query ejemplo, se devuelve información sobre las consultas con nombre que tienen los valores especificadosIDs.

aws athena batch-get-named-query \ --named-query-ids a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 a1b2c3d4-5678-90ab-cdef-EXAMPLE33333

Salida:

{ "NamedQueries": [ { "Name": "Flights Select Query", "Description": "Sample query to get the top 10 airports with the most number of departures since 2000", "Database": "sampledb", "QueryString": "SELECT origin, count(*) AS total_departures\nFROM\nflights_parquet\nWHERE year >= '2000'\nGROUP BY origin\nORDER BY total_departures DESC\nLIMIT 10;", "NamedQueryId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "WorkGroup": "primary" }, { "Name": "Load flights table partitions", "Description": "Sample query to load flights table partitions using MSCK REPAIR TABLE statement", "Database": "sampledb", "QueryString": "MSCK REPAIR TABLE flights_parquet;", "NamedQueryId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "WorkGroup": "primary" }, { "Name": "CloudFront Select Query", "Description": "Sample query to view requests per operating system during a particular time frame", "Database": "sampledb", "QueryString": "SELECT os, COUNT(*) count FROM cloudfront_logs WHERE date BETWEEN date '2014-07-05' AND date '2014-08-05' GROUP BY os;", "NamedQueryId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", "WorkGroup": "primary" } ], "UnprocessedNamedQueryIds": [] }

Para obtener más información, consulte Ejecución de SQL consultas con Amazon Athena en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte la Referencia BatchGetNamedQueryde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar batch-get-query-execution.

AWS CLI

Para devolver información sobre una o más ejecuciones de consultas

En el siguiente batch-get-query-execution ejemplo, se devuelve la información de ejecución de las consultas que tienen la consulta especificadaIDs.

aws athena batch-get-query-execution \ --query-execution-ids a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 a1b2c3d4-5678-90ab-cdef-EXAMPLE22222

Salida:

{ "QueryExecutions": [ { "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Query": "create database if not exists webdata", "StatementType": "DDL", "ResultConfiguration": { "OutputLocation": "s3://awsdoc-example-bucket/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111.txt" }, "QueryExecutionContext": {}, "Status": { "State": "SUCCEEDED", "SubmissionDateTime": 1593470720.592, "CompletionDateTime": 1593470720.902 }, "Statistics": { "EngineExecutionTimeInMillis": 232, "DataScannedInBytes": 0, "TotalExecutionTimeInMillis": 310, "ResultConfiguration": { "QueryQueueTimeInMillis": 50, "ServiceProcessingTimeInMillis": 28 }, "WorkGroup": "AthenaAdmin" }, { "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Query": "select date, location, browser, uri, status from cloudfront_logs where method = 'GET' and status = 200 and location like 'SFO%' limit 10", "StatementType": "DML", "ResultConfiguration": { "OutputLocation": "s3://awsdoc-example-bucket/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222.csv" }, "QueryExecutionContext": { "Database": "mydatabase", "Catalog": "awsdatacatalog" }, "Status": { "State": "SUCCEEDED", "SubmissionDateTime": 1593469842.665, "CompletionDateTime": 1593469846.486 }, "Statistics": { "EngineExecutionTimeInMillis": 3600, "DataScannedInBytes": 203089, "TotalExecutionTimeInMillis": 3821, "QueryQueueTimeInMillis": 267, "QueryPlanningTimeInMillis": 1175 }, "WorkGroup": "AthenaAdmin" } ], "UnprocessedQueryExecutionIds": [] }

Para obtener más información, consulte Ejecución de SQL consultas con Amazon Athena en la Guía del usuario de Amazon Athena.

En el siguiente ejemplo de código se muestra cómo usar create-data-catalog.

AWS CLI

Para crear un catálogo de datos

En el siguiente create-data-catalog ejemplo, se crea el catálogo de dynamo_db_catalog datos.

aws athena create-data-catalog \ --name dynamo_db_catalog \ --type LAMBDA \ --description "DynamoDB Catalog" \ --parameters function=arn:aws:lambda:us-west-2:111122223333:function:dynamo_db_lambda

Este comando no genera ninguna salida. Para ver el resultado, utiliceaws athena get-data-catalog --name dynamo_db_catalog.

Para obtener más información, consulte Registrar un catálogo: create-data-catalog en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte CreateDataCatalogla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar create-named-query.

AWS CLI

Para crear una consulta con nombre

En el siguiente create-named-query ejemplo, se crea una consulta guardada en el AthenaAdmin grupo de trabajo que consulta la flights_parquet tabla sobre los vuelos de Seattle a Nueva York en enero de 2016 cuya salida y llegada se retrasaron más de diez minutos. Como los valores de los códigos de aeropuerto de la tabla son cadenas que incluyen comillas dobles (por ejemplo, "SEA«), aparecen separados por barras invertidas y entre comillas simples.

aws athena create-named-query \ --name "SEA to JFK delayed flights Jan 2016" \ --description "Both arrival and departure delayed more than 10 minutes." \ --database sampledb \ --query-string "SELECT flightdate, carrier, flightnum, origin, dest, depdelayminutes, arrdelayminutes FROM sampledb.flights_parquet WHERE yr = 2016 AND month = 1 AND origin = '\"SEA\"' AND dest = '\"JFK\"' AND depdelayminutes > 10 AND arrdelayminutes > 10" \ --work-group AthenaAdmin

Salida:

{ "NamedQueryId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Para obtener más información, consulte Ejecución de SQL consultas con Amazon Athena en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte la Referencia CreateNamedQueryde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar create-work-group.

AWS CLI

Para crear un grupo de trabajo

En el siguiente create-work-group ejemplo, se crea un grupo de trabajo denominado Data_Analyst_Group que tiene la ubicación de salida de los resultados de la consulta. s3://awsdoc-example-bucket El comando crea un grupo de trabajo que anula los ajustes de configuración del cliente, que incluyen la ubicación de salida de los resultados de la consulta. El comando también habilita CloudWatch las métricas y agrega tres pares de etiquetas clave-valor al grupo de trabajo para distinguirlo de otros grupos de trabajo. Tenga en cuenta que el --configuration argumento no tiene espacios antes de las comas que separan sus opciones.

aws athena create-work-group \ --name Data_Analyst_Group \ --configuration ResultConfiguration={OutputLocation="s3://awsdoc-example-bucket"},EnforceWorkGroupConfiguration="true",PublishCloudWatchMetricsEnabled="true" \ --description "Workgroup for data analysts" \ --tags Key=Division,Value=West Key=Location,Value=Seattle Key=Team,Value="Big Data"

Este comando no genera ninguna salida. Para ver los resultados, utiliceaws athena get-work-group --work-group Data_Analyst_Group.

Para obtener más información, consulte Administración de grupos de trabajo en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte la Referencia CreateWorkGroupde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar delete-data-catalog.

AWS CLI

Para eliminar un catálogo de datos

En el siguiente delete-data-catalog ejemplo, se elimina el catálogo UnusedDataCatalog de datos.

aws athena delete-data-catalog \ --name UnusedDataCatalog

Este comando no genera ninguna salida.

Para obtener más información, consulte Eliminar un catálogo: delete-data-catalog en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte DeleteDataCatalogla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar delete-named-query.

AWS CLI

Para eliminar una consulta con nombre

En el siguiente delete-named-query ejemplo, se elimina la consulta con nombre asignado que tiene el identificador especificado.

aws athena delete-named-query \ --named-query-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Este comando no genera ninguna salida.

Para obtener más información, consulte Ejecución de SQL consultas con Amazon Athena en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte la Referencia DeleteNamedQueryde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar delete-work-group.

AWS CLI

Para eliminar un grupo de trabajo

En el siguiente delete-work-group ejemplo, se elimina el TeamB grupo de trabajo.

aws athena delete-work-group \ --work-group TeamB

Este comando no genera ninguna salida. Para confirmar la eliminación, utilice. aws athena list-work-groups

Para obtener más información, consulte Administración de grupos de trabajo en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte la Referencia DeleteWorkGroupde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-data-catalog.

AWS CLI

Para devolver información sobre un catálogo de datos

El siguiente get-data-catalog ejemplo devuelve información sobre el catálogo dynamo_db_catalog de datos.

aws athena get-data-catalog \ --name dynamo_db_catalog

Salida:

{ "DataCatalog": { "Name": "dynamo_db_catalog", "Description": "DynamoDB Catalog", "Type": "LAMBDA", "Parameters": { "catalog": "dynamo_db_catalog", "metadata-function": "arn:aws:lambda:us-west-2:111122223333:function:dynamo_db_lambda", "record-function": "arn:aws:lambda:us-west-2:111122223333:function:dynamo_db_lambda" } } }

Para obtener más información, consulte Mostrar detalles del catálogo: get-data-catalog en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte GetDataCatalogla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-database.

AWS CLI

Para devolver información sobre una base de datos de un catálogo de datos

El siguiente get-database ejemplo devuelve información sobre la sampledb base de datos del catálogo AwsDataCatalog de datos.

aws athena get-database \ --catalog-name AwsDataCatalog \ --database-name sampledb

Salida:

{ "Database": { "Name": "sampledb", "Description": "Sample database", "Parameters": { "CreatedBy": "Athena", "EXTERNAL": "TRUE" } } }

Para obtener más información, consulte Mostrar detalles de la base de datos: get-database en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte la Referencia de GetDatabasecomandos AWS CLI .

En el siguiente ejemplo de código se muestra cómo usar get-named-query.

AWS CLI

Para devolver una consulta con nombre

En el siguiente get-named-query ejemplo, se devuelve información sobre la consulta que tiene el identificador especificado.

aws athena get-named-query \ --named-query-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Salida:

{ "NamedQuery": { "Name": "CloudFront Logs - SFO", "Description": "Shows successful GET request data for SFO", "Database": "default", "QueryString": "select date, location, browser, uri, status from cloudfront_logs where method = 'GET' and status = 200 and location like 'SFO%' limit 10", "NamedQueryId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "WorkGroup": "AthenaAdmin" } }

Para obtener más información, consulte Ejecución de SQL consultas con Amazon Athena en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte la Referencia GetNamedQueryde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-query-execution.

AWS CLI

Para devolver información sobre la ejecución de una consulta

El siguiente get-query-execution ejemplo devuelve información sobre la consulta que tiene el identificador de consulta especificado.

aws athena get-query-execution \ --query-execution-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Salida:

{ "QueryExecution": { "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Query": "select date, location, browser, uri, status from cloudfront_logs where method = 'GET ' and status = 200 and location like 'SFO%' limit 10", "StatementType": "DML", "ResultConfiguration": { "OutputLocation": "s3://awsdoc-example-bucket/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111.csv" }, "QueryExecutionContext": { "Database": "mydatabase", "Catalog": "awsdatacatalog" }, "Status": { "State": "SUCCEEDED", "SubmissionDateTime": 1593469842.665, "CompletionDateTime": 1593469846.486 }, "Statistics": { "EngineExecutionTimeInMillis": 3600, "DataScannedInBytes": 203089, "TotalExecutionTimeInMillis": 3821, "QueryQueueTimeInMillis": 267, "QueryPlanningTimeInMillis": 1175 }, "WorkGroup": "AthenaAdmin" } }

Para obtener más información, consulte Ejecución de SQL consultas con Amazon Athena en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte la Referencia GetQueryExecutionde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-query-results.

AWS CLI

Para devolver los resultados de una consulta

El siguiente get-query-results ejemplo devuelve los resultados de la consulta que tiene el identificador de consulta especificado.

aws athena get-query-results \ --query-execution-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Salida:

{ "ResultSet": { "Rows": [ { "Data": [ { "VarCharValue": "date" }, { "VarCharValue": "location" }, { "VarCharValue": "browser" }, { "VarCharValue": "uri" }, { "VarCharValue": "status" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "Safari" }, { "VarCharValue": "/test-image-2.jpeg" }, { "VarCharValue": "200" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "Opera" }, { "VarCharValue": "/test-image-2.jpeg" }, { "VarCharValue": "200" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "Firefox" }, { "VarCharValue": "/test-image-3.jpeg" }, { "VarCharValue": "200" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "Lynx" }, { "VarCharValue": "/test-image-3.jpeg" }, { "VarCharValue": "200" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "IE" }, { "VarCharValue": "/test-image-2.jpeg" }, { "VarCharValue": "200" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "Opera" }, { "VarCharValue": "/test-image-1.jpeg" }, { "VarCharValue": "200" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "Chrome" }, { "VarCharValue": "/test-image-3.jpeg" }, { "VarCharValue": "200" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "Firefox" }, { "VarCharValue": "/test-image-2.jpeg" }, { "VarCharValue": "200" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "Chrome" }, { "VarCharValue": "/test-image-3.jpeg" }, { "VarCharValue": "200" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "IE" }, { "VarCharValue": "/test-image-2.jpeg" }, { "VarCharValue": "200" } ] } ], "ResultSetMetadata": { "ColumnInfo": [ { "CatalogName": "hive", "SchemaName": "", "TableName": "", "Name": "date", "Label": "date", "Type": "date", "Precision": 0, "Scale": 0, "Nullable": "UNKNOWN", "CaseSensitive": false }, { "CatalogName": "hive", "SchemaName": "", "TableName": "", "Name": "location", "Label": "location", "Type": "varchar", "Precision": 2147483647, "Data": [ "Scale": 0, "Nullable": "UNKNOWN", "CaseSensitive": true }, { "CatalogName": "hive", "SchemaName": "", "TableName": "", "Name": "browser", "Label": "browser", "Type": "varchar", "Precision": 2147483647, "Scale": 0, "Nullable": "UNKNOWN", "CaseSensitive": true }, { "CatalogName": "hive", "SchemaName": "", "TableName": "", "Name": "uri", "Label": "uri", "Type": "varchar", "Precision": 2147483647, "Scale": 0, "Nullable": "UNKNOWN", "CaseSensitive": true }, { "CatalogName": "hive", "SchemaName": "", "TableName": "", "Name": "status", "Label": "status", "Type": "integer", "Precision": 10, "Scale": 0, "Nullable": "UNKNOWN", "CaseSensitive": false } ] } }, "UpdateCount": 0 }

Para obtener más información, consulte Trabajar con los resultados de consultas, los archivos de salida y el historial de consultas en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte GetQueryResultsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-table-metadata.

AWS CLI

Para devolver información de metadatos sobre una tabla

El siguiente get-table-metadata ejemplo devuelve información de metadatos sobre la counties tabla, incluidos los nombres de las columnas y sus tipos de datos, de la sampledb base de datos del catálogo de datos. AwsDataCatalog

aws athena get-table-metadata \ --catalog-name AwsDataCatalog \ --database-name sampledb \ --table-name counties

Salida:

{ "TableMetadata": { "Name": "counties", "CreateTime": 1593559968.0, "LastAccessTime": 0.0, "TableType": "EXTERNAL_TABLE", "Columns": [ { "Name": "name", "Type": "string", "Comment": "from deserializer" }, { "Name": "boundaryshape", "Type": "binary", "Comment": "from deserializer" }, { "Name": "motto", "Type": "string", "Comment": "from deserializer" }, { "Name": "population", "Type": "int", "Comment": "from deserializer" } ], "PartitionKeys": [], "Parameters": { "EXTERNAL": "TRUE", "inputformat": "com.esri.json.hadoop.EnclosedJsonInputFormat", "location": "s3://awsdoc-example-bucket/json", "outputformat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "serde.param.serialization.format": "1", "serde.serialization.lib": "com.esri.hadoop.hive.serde.JsonSerde", "transient_lastDdlTime": "1593559968" } } }

Para obtener más información, consulte Mostrar detalles de la tabla: get-table-metadata en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte GetTableMetadatala Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-work-group.

AWS CLI

Para devolver información sobre un grupo de trabajo

En el siguiente get-work-group ejemplo, se devuelve información sobre el grupo de AthenaAdmin trabajo.

aws athena get-work-group \ --work-group AthenaAdmin

Salida:

{ "WorkGroup": { "Name": "AthenaAdmin", "State": "ENABLED", "Configuration": { "ResultConfiguration": { "OutputLocation": "s3://awsdoc-example-bucket/" }, "EnforceWorkGroupConfiguration": false, "PublishCloudWatchMetricsEnabled": true, "RequesterPaysEnabled": false }, "Description": "Workgroup for Athena administrators", "CreationTime": 1573677174.105 } }

Para obtener más información, consulte Administración de grupos de trabajo en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte la Referencia GetWorkGroupde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-data-catalogs.

AWS CLI

Para enumerar los catálogos de datos registrados en Athena

En el siguiente list-data-catalogs ejemplo, se enumeran los catálogos de datos registrados en Athena.

aws athena list-data-catalogs

Salida:

{ "DataCatalogsSummary": [ { "CatalogName": "AwsDataCatalog", "Type": "GLUE" }, { "CatalogName": "cw_logs_catalog", "Type": "LAMBDA" }, { "CatalogName": "cw_metrics_catalog", "Type": "LAMBDA" } ] }

Para obtener más información, consulte Publicar catálogos registrados: list-data-catalogs en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte la Referencia ListDataCatalogsde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-databases.

AWS CLI

Para enumerar las bases de datos de un catálogo de datos

En el siguiente list-databases ejemplo, se enumeran las bases de AwsDataCatalog datos del catálogo de datos.

aws athena list-databases \ --catalog-name AwsDataCatalog

Salida:

{ "DatabaseList": [ { "Name": "default" }, { "Name": "mydatabase" }, { "Name": "newdb" }, { "Name": "sampledb", "Description": "Sample database", "Parameters": { "CreatedBy": "Athena", "EXTERNAL": "TRUE" } }, { "Name": "webdata" } ] }

Para obtener más información, consulte Incluir bases de datos en un catálogo: bases de datos de listas en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte la Referencia de ListDatabasescomandos AWS CLI .

En el siguiente ejemplo de código se muestra cómo usar list-named-queries.

AWS CLI

Para enumerar las consultas con nombre de un grupo de trabajo

En el siguiente list-named-queries ejemplo, se enumeran las consultas con nombre del grupo de AthenaAdmin trabajo.

aws athena list-named-queries \ --work-group AthenaAdmin

Salida:

{ "NamedQueryIds": [ "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333" ] }

Para obtener más información, consulte Ejecución de SQL consultas con Amazon Athena en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte la Referencia ListNamedQueriesde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-query-executions.

AWS CLI

Para enumerar la consulta IDs de las consultas de un grupo de trabajo específico

En el siguiente list-query-executions ejemplo, se muestra un máximo de diez consultas del IDs grupo de AthenaAdmin trabajo.

aws athena list-query-executions \ --work-group AthenaAdmin \ --max-items 10

Salida:

{ "QueryExecutionIds": [ "a1b2c3d4-5678-90ab-cdef-EXAMPLE11110", "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", "a1b2c3d4-5678-90ab-cdef-EXAMPLE11114", "a1b2c3d4-5678-90ab-cdef-EXAMPLE11115", "a1b2c3d4-5678-90ab-cdef-EXAMPLE11116", "a1b2c3d4-5678-90ab-cdef-EXAMPLE11117", "a1b2c3d4-5678-90ab-cdef-EXAMPLE11118", "a1b2c3d4-5678-90ab-cdef-EXAMPLE11119" ], "NextToken": "eyJOZXh0VG9rZW4iOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxMH0=" }

Para obtener más información, consulte Trabajar con los resultados de consultas, los archivos de salida y el historial de consultas en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte ListQueryExecutionsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-table-metadata.

AWS CLI

Para enumerar los metadatos de las tablas de la base de datos especificada de un catálogo de datos

El siguiente list-table-metadata ejemplo devuelve la información de metadatos de un máximo de dos tablas de la geography base de datos del catálogo de AwsDataCatalog datos.

aws athena list-table-metadata \ --catalog-name AwsDataCatalog \ --database-name geography \ --max-items 2

Salida:

{ "TableMetadataList": [ { "Name": "country_codes", "CreateTime": 1586553454.0, "TableType": "EXTERNAL_TABLE", "Columns": [ { "Name": "country", "Type": "string", "Comment": "geo id" }, { "Name": "alpha-2 code", "Type": "string", "Comment": "geo id2" }, { "Name": "alpha-3 code", "Type": "string", "Comment": "state name" }, { "Name": "numeric code", "Type": "bigint", "Comment": "" }, { "Name": "latitude", "Type": "bigint", "Comment": "location (latitude)" }, { "Name": "longitude", "Type": "bigint", "Comment": "location (longitude)" } ], "Parameters": { "areColumnsQuoted": "false", "classification": "csv", "columnsOrdered": "true", "delimiter": ",", "has_encrypted_data": "false", "inputformat": "org.apache.hadoop.mapred.TextInputFormat", "location": "s3://awsdoc-example-bucket/csv/countrycode", "outputformat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "serde.param.field.delim": ",", "serde.serialization.lib": "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe", "skip.header.line.count": "1", "typeOfData": "file" } }, { "Name": "county_populations", "CreateTime": 1586553446.0, "TableType": "EXTERNAL_TABLE", "Columns": [ { "Name": "id", "Type": "string", "Comment": "geo id" }, { "Name": "country", "Name": "id2", "Type": "string", "Comment": "geo id2" }, { "Name": "county", "Type": "string", "Comment": "county name" }, { "Name": "state", "Type": "string", "Comment": "state name" }, { "Name": "population estimate 2018", "Type": "string", "Comment": "" } ], "Parameters": { "areColumnsQuoted": "false", "classification": "csv", "columnsOrdered": "true", "delimiter": ",", "has_encrypted_data": "false", "inputformat": "org.apache.hadoop.mapred.TextInputFormat", "location": "s3://awsdoc-example-bucket/csv/CountyPopulation", "outputformat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "serde.param.field.delim": ",", "serde.serialization.lib": "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe", "skip.header.line.count": "1", "typeOfData": "file" } } ], "NextToken": "eyJOZXh0VG9rZW4iOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAyfQ==" }

Para obtener más información, consulte Mostrar los metadatos de todas las tablas de una base de datos: list-table-metadata en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte ListTableMetadatala Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-tags-for-resource.

AWS CLI

Ejemplo 1: Para enumerar las etiquetas de un grupo de trabajo

En el siguiente list-tags-for-resource ejemplo, se enumeran las etiquetas del grupo de Data_Analyst_Group trabajo.

aws athena list-tags-for-resource \ --resource-arn arn:aws:athena:us-west-2:111122223333:workgroup/Data_Analyst_Group

Salida:

{ "Tags": [ { "Key": "Division", "Value": "West" }, { "Key": "Team", "Value": "Big Data" }, { "Key": "Location", "Value": "Seattle" } ] }

Ejemplo 2: Para enumerar las etiquetas de un catálogo de datos

El siguiente list-tags-for-resource ejemplo muestra las etiquetas del catálogo dynamo_db_catalog de datos.

aws athena list-tags-for-resource \ --resource-arn arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog

Salida:

{ "Tags": [ { "Key": "Division", "Value": "Mountain" }, { "Key": "Organization", "Value": "Retail" }, { "Key": "Product_Line", "Value": "Shoes" }, { "Key": "Location", "Value": "Denver" } ] }

Para obtener más información, consulte Enumerar las etiquetas de un recurso: list-tags-for-resource en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte ListTagsForResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-work-groups.

AWS CLI

Para enumerar los grupos de trabajo

En el siguiente list-work-groups ejemplo, se enumeran los grupos de trabajo de la cuenta corriente.

aws athena list-work-groups

Salida:

{ "WorkGroups": [ { "Name": "Data_Analyst_Group", "State": "ENABLED", "Description": "", "CreationTime": 1578006683.016 }, { "Name": "AthenaAdmin", "State": "ENABLED", "Description": "", "CreationTime": 1573677174.105 }, { "Name": "primary", "State": "ENABLED", "Description": "", "CreationTime": 1567465222.723 } ] }

Para obtener más información, consulte Administración de grupos de trabajo en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte la Referencia ListWorkGroupsde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar start-query-execution.

AWS CLI

Ejemplo 1: Para ejecutar una consulta en un grupo de trabajo en la tabla especificada de la base de datos y el catálogo de datos especificados

En el siguiente start-query-execution ejemplo, se utiliza el AthenaAdmin grupo de trabajo para ejecutar una consulta en la cloudfront_logs tabla del cflogsdatabase catálogo de AwsDataCatalog datos.

aws athena start-query-execution \ --query-string "select date, location, browser, uri, status from cloudfront_logs where method = 'GET' and status = 200 and location like 'SFO%' limit 10" \ --work-group "AthenaAdmin" \ --query-execution-context Database=cflogsdatabase,Catalog=AwsDataCatalog

Salida:

{ "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Para obtener más información, consulte Ejecución de SQL consultas con Amazon Athena en la Guía del usuario de Amazon Athena.

Ejemplo 2: Para ejecutar una consulta que utilice un grupo de trabajo específico para crear una base de datos en el catálogo de datos especificado

En el siguiente start-query-execution ejemplo, se utiliza el AthenaAdmin grupo de trabajo para crear la base de datos newdb en el catálogo de datos predeterminado. AwsDataCatalog

aws athena start-query-execution \ --query-string "create database if not exists newdb" \ --work-group "AthenaAdmin"

Salida:

{ "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11112" }

Para obtener más información, consulte Ejecución de SQL consultas con Amazon Athena en la Guía del usuario de Amazon Athena.

Ejemplo 3: Para ejecutar una consulta que cree una vista en una tabla de la base de datos y el catálogo de datos especificados

En el siguiente start-query-execution ejemplo, se utiliza una SELECT instrucción de la cloudfront_logs tabla cflogsdatabase para crear la vistacf10.

aws athena start-query-execution \ --query-string "CREATE OR REPLACE VIEW cf10 AS SELECT * FROM cloudfront_logs limit 10" \ --query-execution-context Database=cflogsdatabase

Salida:

{ "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11113" }

Para obtener más información, consulte Ejecución de SQL consultas con Amazon Athena en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte la Referencia StartQueryExecutionde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar stop-query-execution.

AWS CLI

Para detener una consulta en ejecución

El siguiente stop-query-execution ejemplo detiene la consulta que tiene el identificador de consulta especificado.

aws athena stop-query-execution \ --query-execution-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Este comando no genera ninguna salida.

Para obtener más información, consulte Ejecución de SQL consultas con Amazon Athena en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte la Referencia StopQueryExecutionde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar tag-resource.

AWS CLI

Cómo añadir una etiqueta a un recurso

El siguiente tag-resource ejemplo agrega tres etiquetas al catálogo dynamo_db_catalog de datos.

aws athena tag-resource \ --resource-arn arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog \ --tags Key=Organization,Value=Retail Key=Division,Value=Mountain Key=Product_Line,Value=Shoes Key=Location,Value=Denver

Este comando no genera ninguna salida. Para ver el resultado, utiliceaws athena list-tags-for-resource --resource-arn arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog.

Para obtener más información, consulte Añadir etiquetas a un recurso: tag-resource en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte la Referencia de TagResourcecomandos AWS CLI .

En el siguiente ejemplo de código se muestra cómo usar untag-resource.

AWS CLI

Para eliminar una etiqueta de un recurso

En el siguiente untag-resource ejemplo, se eliminan las Focus claves Specialization y sus valores asociados del recurso del catálogo de dynamo_db_catalog datos.

aws athena untag-resource \ --resource-arn arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog \ --tag-keys Specialization Focus

Este comando no genera ninguna salida. Para ver los resultados, utilice el list-tags-for-resource comando.

Para obtener más información, consulte Eliminar etiquetas de un recurso: untag-resource en la Guía del usuario de Amazon Athena.

  • Para obtener API más información, consulte la Referencia de comandos UntagResource.AWS CLI

En el siguiente ejemplo de código se muestra cómo usar update-data-catalog.

AWS CLI

Para actualizar un catálogo de datos

El siguiente update-data-catalog ejemplo actualiza la función Lambda y la descripción del catálogo de cw_logs_catalog datos.

aws athena update-data-catalog \ --name cw_logs_catalog \ --type LAMBDA \ --description "New CloudWatch Logs Catalog" \ --function=arn:aws:lambda:us-west-2:111122223333:function:new_cw_logs_lambda

Este comando no genera ninguna salida. Para ver el resultado, utiliceaws athena get-data-catalog --name cw_logs_catalog.

Para obtener más información, consulte Actualización de un catálogo: update-data-catalog en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte UpdateDataCatalogla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar update-work-group.

AWS CLI

Para actualizar un grupo de trabajo

En el siguiente update-work-group ejemplo, se deshabilita el grupo de trabajoData_Analyst_Group. Los usuarios no pueden ejecutar ni crear consultas en el grupo de trabajo deshabilitado, pero sí pueden ver las métricas, los controles de los límites de uso de datos, la configuración del grupo de trabajo, el historial de consultas y las consultas guardadas.

aws athena update-work-group \ --work-group Data_Analyst_Group \ --state DISABLED

Este comando no genera ninguna salida. Para comprobar el cambio de estado, utilice aws athena get-work-group --work-group Data_Analyst_Group y compruebe la State propiedad de la salida.

Para obtener más información, consulte Administración de grupos de trabajo en la Guía del usuario de Amazon Athena.

  • Para API obtener más información, consulte la Referencia UpdateWorkGroupde AWS CLI comandos.