Ejemplos de Athena que utilizan la AWS CLI
En los siguientes ejemplos de código se muestra cómo realizar acciones e implementar situaciones comunes usando la AWS Command Line Interface con 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.
En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.
Temas
Acciones
En el siguiente ejemplo de código, se muestra cómo utilizar batch-get-named-query
.
- AWS CLI
-
Para obtener información sobre más de una consulta
En el siguiente ejemplo de
batch-get-named-query
, se ofrece información sobre las consultas con nombre que tienen los ID especificados.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": [] }
Si desea obtener más información, consulte Ejecución de consultas SQL mediante Amazon Athena en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte BatchGetNamedQuery
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar batch-get-query-execution
.
- AWS CLI
-
Para obtener información sobre una o más ejecuciones de consulta
En el siguiente ejemplo de
batch-get-query-execution
, se ofrece información de la ejecución de las consultas que tienen los ID de consulta especificados.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": [] }
Si desea obtener más información, consulte Ejecución de consultas SQL mediante Amazon Athena en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte BatchGetQueryExecution
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-data-catalog
.
- AWS CLI
-
Creación de un catálogo de datos
En el siguiente ejemplo de
create-data-catalog
, se crea el catálogo de datosdynamo_db_catalog
.aws athena create-data-catalog \ --name
dynamo_db_catalog
\ --typeLAMBDA
\ --description"DynamoDB Catalog"
\ --parametersfunction=arn:aws:lambda:us-west-2:111122223333:function:dynamo_db_lambda
Este comando no genera ninguna salida. Para ver el resultado, utilice
aws athena get-data-catalog --name dynamo_db_catalog
.Para obtener más información, consulte Registro de un catálogo: create-data-catalog en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte CreateDataCatalog
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-named-query
.
- AWS CLI
-
Creación de una consulta con nombre
En el siguiente ejemplo de
create-named-query
, se crea una consulta guardada en el grupo de trabajoAthenaAdmin
que consulta la tablaflights_parquet
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 diagonales 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."
\ --databasesampledb
\ --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-groupAthenaAdmin
Salida:
{ "NamedQueryId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }
Si desea obtener más información, consulte Ejecución de consultas SQL mediante Amazon Athena en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte CreateNamedQuery
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-work-group
.
- AWS CLI
-
Creación de un grupo de trabajo
En el siguiente ejemplo de
create-work-group
, se crea un grupo de trabajo denominadoData_Analyst_Group
que tiene la ubicación de salida de los resultados de la consultas3://awsdoc-example-bucket
. El comando crea un grupo de trabajo que anula los ajustes de configuración del cliente, lo que incluye la ubicación de salida de los resultados de la consulta. El comando también habilita las métricas de CloudWatch y añade tres pares de etiquetas clave-valor al grupo de trabajo para distinguirlo de otros grupos de trabajo. Tenga en cuenta que el argumento--configuration
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"
\ --tagsKey=Division,Value=West
Key=Location,Value=Seattle
Key=Team,Value="Big Data"Este comando no genera ninguna salida. Para ver los resultados, utilice
aws athena get-work-group --work-group Data_Analyst_Group
.Para obtener más información, consulte Administración de los grupos de trabajo en la Guía del usuario de Amazon Athena.
-
Para obtener más información sobre la API, consulte CreateWorkGroup
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-data-catalog
.
- AWS CLI
-
Eliminación de un catálogo de datos
En el siguiente ejemplo de
delete-data-catalog
, se elimina el catálogo de datosUnusedDataCatalog
.aws athena delete-data-catalog \ --name
UnusedDataCatalog
Este comando no genera ninguna salida.
Para obtener más información, consulte Eliminación de un catálogo: delete-data-catalog en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte DeleteDataCatalog
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-named-query
.
- AWS CLI
-
Eliminación de una consulta con nombre
En el siguiente ejemplo de
delete-named-query
, se elimina la consulta con nombre que tiene el ID especificado.aws athena delete-named-query \ --named-query-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
Este comando no genera ninguna salida.
Si desea obtener más información, consulte Ejecución de consultas SQL mediante Amazon Athena en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte DeleteNamedQuery
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-work-group
.
- AWS CLI
-
Eliminación de un grupo de trabajo
En el siguiente ejemplo de
delete-work-group
, se elimina el grupo de trabajoTeamB
.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 los grupos de trabajo en la Guía del usuario de Amazon Athena.
-
Para obtener más información sobre la API, consulte DeleteWorkGroup
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-data-catalog
.
- AWS CLI
-
Para obtener información sobre un catálogo de datos
En el siguiente ejemplo de
get-data-catalog
, se obtiene información sobre el catálogo de datosdynamo_db_catalog
.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 Visualización de los detalles del catálogo: get-data-catalog en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte GetDataCatalog
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-database
.
- AWS CLI
-
Para obtener información sobre una base de datos en un catálogo de datos
El siguiente ejemplo de
get-database
, se obtiene información sobre la base de datossampledb
del catálogo de datosAwsDataCatalog
.aws athena get-database \ --catalog-name
AwsDataCatalog
\ --database-namesampledb
Salida:
{ "Database": { "Name": "sampledb", "Description": "Sample database", "Parameters": { "CreatedBy": "Athena", "EXTERNAL": "TRUE" } } }
Para obtener más información, consulte Visualización de los detalles del catálogo: get-data-catalog en la Guía del usuario de Amazon Athena.
-
Para obtener más información sobre la API, consulte GetDatabase
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-named-query
.
- AWS CLI
-
Devolución de una consulta con nombre
En el siguiente ejemplo de
get-named-query
, se ofrece información sobre la consulta con el ID 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" } }
Si desea obtener más información, consulte Ejecución de consultas SQL mediante Amazon Athena en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte GetNamedQuery
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-query-execution
.
- AWS CLI
-
Para obtener información sobre una ejecución de consulta
En el siguiente ejemplo de
get-query-execution
, se ofrece información sobre la consulta con el ID 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" } }
Si desea obtener más información, consulte Ejecución de consultas SQL mediante Amazon Athena en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte GetQueryExecution
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-query-results
.
- AWS CLI
-
Para obtener los resultados de una consulta
En el siguiente ejemplo de
get-query-results
, se ofrecen los resultados de la consulta con el ID 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 Trabajo con resultados de la consulta y consultas recientes en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte GetQueryResults
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-table-metadata
.
- AWS CLI
-
Para obtener información de metadatos sobre una tabla
En el siguiente ejemplo de
get-table-metadata
, se obtiene información de metadatos sobre la tablacounties
, incluidos los nombres de las columnas y sus tipos de datos, de la base de datossampledb
del catálogo de datosAwsDataCatalog
.aws athena get-table-metadata \ --catalog-name
AwsDataCatalog
\ --database-namesampledb
\ --table-namecounties
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 Visualización de los detalles de la tabla: get-table-metadata en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte GetTableMetadata
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-work-group
.
- AWS CLI
-
Para obtener información sobre un grupo de trabajo
En el siguiente ejemplo de
get-work-group
, se obtiene información sobre el grupo de trabajoAthenaAdmin
.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 los grupos de trabajo en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte GetWorkGroup
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-data-catalogs
.
- AWS CLI
-
Generación de una lista de catálogos de datos registrados en Athena
En el siguiente ejemplo de
list-data-catalogs
, se genera una lista de 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 Enumeración de los catálogos registrados: list-data-catalogs en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte ListDataCatalogs
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-databases
.
- AWS CLI
-
Generación de una lista de bases de datos en un catálogo de datos
En el siguiente ejemplo de
list-databases
, se genera una lista de las bases de datos en el catálogo de datosAwsDataCatalog
.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 Enumeración de las bases de datos de un catálogo: list-databases en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte ListDatabases
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-named-queries
.
- AWS CLI
-
Generación de una lista de consultas con nombre de un grupo de trabajo
En el siguiente ejemplo de
list-named-queries
, se genera una lista de las consultas con nombre del grupo de trabajoAthenaAdmin
.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" ] }
Si desea obtener más información, consulte Ejecución de consultas SQL mediante Amazon Athena en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte ListNamedQueries
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-query-executions
.
- AWS CLI
-
Generación de una lista de ID de consulta de las consultas de un grupo de trabajo especificado
En el siguiente ejemplo de
list-query-executions
, se genera una lista de un máximo de diez ID de consulta en el grupo de trabajoAthenaAdmin
.aws athena list-query-executions \ --work-group
AthenaAdmin
\ --max-items10
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 Trabajo con resultados de la consulta y consultas recientes en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte ListQueryExecutions
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-table-metadata
.
- AWS CLI
-
Generación de una lista de los metadatos de las tablas de la base de datos especificada de un catálogo de datos
En el siguiente ejemplo de
list-table-metadata
; se obtiene información de metadatos de un máximo de dos tablas en la base de datosgeography
del catálogo de datosAwsDataCatalog
.aws athena list-table-metadata \ --catalog-name
AwsDataCatalog
\ --database-namegeography
\ --max-items2
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 Visualización de los metadatos de todas las tablas de una base de datos: list-table-metadata en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte ListTableMetadata
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-tags-for-resource
.
- AWS CLI
-
Ejemplo 1: cómo generar una lista de las etiquetas de un grupo de trabajo
En el siguiente ejemplo de
list-tags-for-resource
, se genera una lista de las etiquetas del grupo de trabajoData_Analyst_Group
.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: cómo generar una lista de las etiquetas de un catálogo de datos
En el ejemplo siguiente de
list-tags-for-resource
, se genera una lista de las etiquetas del catálogo de datosdynamo_db_catalog
.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 Descripción de las etiquetas de un recurso: list-tags-for-resource en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte ListTagsForResource
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-work-groups
.
- AWS CLI
-
Generación de lista de grupos de trabajo
En el siguiente ejemplo de
list-work-groups
, se genera una lista de los grupos de trabajo en la cuenta actual.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 los grupos de trabajo en la Guía del usuario de Amazon Athena.
-
Para obtener detalles de la API, consulte ListWorkGroups
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar start-query-execution
.
- AWS CLI
-
Ejemplo 1: cómo 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 ejemplo de
start-query-execution
, se utiliza el grupo de trabajoAthenaAdmin
para ejecutar una consulta en la tablacloudfront_logs
de lacflogsdatabase
del catálogo de datosAwsDataCatalog
.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-contextDatabase=cflogsdatabase,Catalog=AwsDataCatalog
Salida:
{ "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }
Si desea obtener más información, consulte Ejecución de consultas SQL mediante Amazon Athena en la Guía del usuario de Amazon Athena.
Ejemplo 2: ejecutar una consulta que utilice el grupo de trabajo especificado para crear una base de datos en el catálogo de datos especificado
En el siguiente ejemplo de
start-query-execution
, se utiliza el grupo de trabajoAthenaAdmin
para crear la base de datosnewdb
en el catálogo de datos predeterminadoAwsDataCatalog
.aws athena start-query-execution \ --query-string
"create database if not exists newdb"
\ --work-group"AthenaAdmin"
Salida:
{ "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11112" }
Si desea obtener más información, consulte Ejecución de consultas SQL mediante Amazon Athena en la Guía del usuario de Amazon Athena.
Ejemplo 3: cómo 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 ejemplo de
start-query-execution
, se utiliza una instrucciónSELECT
en la tablacloudfront_logs
de lacflogsdatabase
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-contextDatabase=cflogsdatabase
Salida:
{ "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11113" }
Si desea obtener más información, consulte Ejecución de consultas SQL mediante Amazon Athena en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte StartQueryExecution
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar stop-query-execution
.
- AWS CLI
-
Detención de una consulta en curso
En el siguiente ejemplo de
stop-query-execution
, se detiene la consulta con el ID de consulta especificado.aws athena stop-query-execution \ --query-execution-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
Este comando no genera ninguna salida.
Si desea obtener más información, consulte Ejecución de consultas SQL mediante Amazon Athena en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte StopQueryExecution
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar tag-resource
.
- AWS CLI
-
Cómo añadir una etiqueta a un recurso
En el siguiente ejemplo de
tag-resource
, se agregan tres etiquetas al catálogo de datosdynamo_db_catalog
.aws athena tag-resource \ --resource-arn
arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog
\ --tagsKey=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, utilice
aws 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 Adición de etiquetas a un recurso: tag-resource en la Guía del usuario de Amazon Athena.
-
Para ver los detalles de la API, consulte TagResource
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar untag-resource
.
- AWS CLI
-
Para eliminar una etiqueta de un recurso
En el ejemplo siguiente de
untag-resource
, se eliminan las clavesSpecialization
yFocus
y sus valores asociados del recurso de catálogo de datosdynamo_db_catalog
.aws athena untag-resource \ --resource-arn
arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog
\ --tag-keysSpecialization
Focus
Este comando no genera ninguna salida. Para ver los resultados, use el comando
list-tags-for-resource
.Para obtener más información, consulte Eliminación de las etiquetas de un recurso: untag-resource: untag-resource en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte UntagResource
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar update-data-catalog
.
- AWS CLI
-
Actualización de un catálogo de datos
En el siguiente ejemplo de
update-data-catalog
, se actualiza la función de Lambda y la descripción del catálogo de datoscw_logs_catalog
.aws athena update-data-catalog \ --name
cw_logs_catalog
\ --typeLAMBDA
\ --description"New CloudWatch Logs Catalog"
\ --function=arn:aws:lambda:us-west-2:111122223333:function:new_cw_logs_lambdaEste comando no genera ninguna salida. Para ver el resultado, utilice
aws 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 obtener información sobre la API, consulte UpdateDataCatalog
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar update-work-group
.
- AWS CLI
-
Actualización de un grupo de trabajo
En el siguiente ejemplo de
update-work-group
, se actualiza 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
\ --stateDISABLED
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 propiedadState
en la salida.Para obtener más información, consulte Administración de los grupos de trabajo en la Guía del usuario de Amazon Athena.
-
Para obtener información sobre la API, consulte UpdateWorkGroup
en la Referencia de comandos de la AWS CLI.
-