Exemplos de Athena usando AWS CLI - AWS SDKExemplos de código

Há mais AWS SDK exemplos disponíveis no GitHub repositório AWS Doc SDK Examples.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplos de Athena usando AWS CLI

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface with Athena.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar funções de serviço individuais, é possível ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, onde você pode encontrar instruções sobre como configurar e executar o código no contexto.

Tópicos

Ações

O código de exemplo a seguir mostra como usar batch-get-named-query.

AWS CLI

Para retornar informações sobre mais de uma consulta

O batch-get-named-query exemplo a seguir retorna informações sobre as consultas nomeadas que têm o especificadoIDs.

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

Saída:

{ "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 obter mais informações, consulte Como executar SQL consultas usando o Amazon Athena no Guia do usuário do Amazon Athena.

O código de exemplo a seguir mostra como usar batch-get-query-execution.

AWS CLI

Para retornar informações sobre uma ou mais execuções de consulta

O batch-get-query-execution exemplo a seguir retorna informações de execução da consulta para as consultas que têm a consulta IDs especificada.

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

Saída:

{ "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 obter mais informações, consulte Como executar SQL consultas usando o Amazon Athena no Guia do usuário do Amazon Athena.

O código de exemplo a seguir mostra como usar create-data-catalog.

AWS CLI

Para criar um catálogo de dados

O create-data-catalog exemplo a seguir cria o catálogo dynamo_db_catalog de dados.

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 não produz saída. Para ver o resultado, useaws athena get-data-catalog --name dynamo_db_catalog.

Para obter mais informações, consulte Registro de um catálogo: create-data-catalog no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte CreateDataCatalogna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar create-named-query.

AWS CLI

Para criar uma consulta nomeada

O create-named-query exemplo a seguir cria uma consulta salva no AthenaAdmin grupo de trabalho que consulta a flights_parquet tabela de voos de Seattle para Nova York em janeiro de 2016, cuja partida e chegada foram atrasadas em mais de dez minutos. Como os valores do código do aeroporto na tabela são cadeias de caracteres que incluem aspas duplas (por exemplo, "SEA“), eles são escapados por barras invertidas e cercados por aspas 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

Saída:

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

Para obter mais informações, consulte Como executar SQL consultas usando o Amazon Athena no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte CreateNamedQueryna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar create-work-group.

AWS CLI

Para criar um grupo de trabalho

O create-work-group exemplo a seguir cria um grupo de trabalho chamado Data_Analyst_Group que tem o local s3://awsdoc-example-bucket de saída dos resultados da consulta. O comando cria um grupo de trabalho que substitui as configurações do cliente, o que inclui o local de saída dos resultados da consulta. O comando também ativa CloudWatch métricas e adiciona três pares de tags de valores-chave ao grupo de trabalho para diferenciá-lo de outros grupos de trabalho. Observe que o --configuration argumento não tem espaços antes das vírgulas que separam suas opções.

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 não produz saída. Para ver os resultados, useaws athena get-work-group --work-group Data_Analyst_Group.

Para obter mais informações, consulte Gerenciamento de grupos de trabalho no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte CreateWorkGroupna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar delete-data-catalog.

AWS CLI

Para excluir um catálogo de dados

O delete-data-catalog exemplo a seguir exclui o catálogo UnusedDataCatalog de dados.

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

Este comando não produz saída.

Para obter mais informações, consulte Excluindo um catálogo: delete-data-catalog no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte DeleteDataCatalogna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar delete-named-query.

AWS CLI

Para excluir uma consulta nomeada

O delete-named-query exemplo a seguir exclui a consulta nomeada que tem o ID especificado.

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

Este comando não produz saída.

Para obter mais informações, consulte Como executar SQL consultas usando o Amazon Athena no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte DeleteNamedQueryna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar delete-work-group.

AWS CLI

Para excluir um grupo de trabalho

O delete-work-group exemplo a seguir exclui o grupo de TeamB trabalho.

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

Este comando não produz saída. Para confirmar a exclusão, useaws athena list-work-groups.

Para obter mais informações, consulte Gerenciamento de grupos de trabalho no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte DeleteWorkGroupna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-data-catalog.

AWS CLI

Para retornar informações sobre um catálogo de dados

O get-data-catalog exemplo a seguir retorna informações sobre o catálogo dynamo_db_catalog de dados.

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

Saída:

{ "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 obter mais informações, consulte Exibindo detalhes do catálogo: get-data-catalog no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte GetDataCatalogna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-database.

AWS CLI

Para retornar informações sobre um banco de dados em um catálogo de dados

O get-database exemplo a seguir retorna informações sobre o sampledb banco de dados no catálogo AwsDataCatalog de dados.

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

Saída:

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

Para obter mais informações, consulte Mostrando detalhes do banco de dados: get-database no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte GetDatabasena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-named-query.

AWS CLI

Para retornar uma consulta nomeada

O get-named-query exemplo a seguir retorna informações sobre a consulta que tem o ID especificado.

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

Saída:

{ "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 obter mais informações, consulte Como executar SQL consultas usando o Amazon Athena no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte GetNamedQueryna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-query-execution.

AWS CLI

Para retornar informações sobre a execução de uma consulta

O get-query-execution exemplo a seguir retorna informações sobre a consulta que tem o ID de consulta especificado.

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

Saída:

{ "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 obter mais informações, consulte Como executar SQL consultas usando o Amazon Athena no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte GetQueryExecutionna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-query-results.

AWS CLI

Para retornar os resultados de uma consulta

O get-query-results exemplo a seguir retorna os resultados da consulta que tem o ID de consulta especificado.

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

Saída:

{ "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 obter mais informações, consulte Como trabalhar com resultados de consultas, arquivos de saída e histórico de consultas no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte GetQueryResultsna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-table-metadata.

AWS CLI

Para retornar informações de metadados sobre uma tabela

O get-table-metadata exemplo a seguir retorna informações de metadados sobre a counties tabela, incluindo nomes de colunas e seus tipos de dados, do sampledb banco de dados do catálogo de dados. AwsDataCatalog

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

Saída:

{ "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 obter mais informações, consulte Exibindo detalhes da tabela: get-table-metadata no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte GetTableMetadatana Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-work-group.

AWS CLI

Para retornar informações sobre um grupo de trabalho

O get-work-group exemplo a seguir retorna informações sobre o AthenaAdmin grupo de trabalho.

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

Saída:

{ "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 obter mais informações, consulte Gerenciamento de grupos de trabalho no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte GetWorkGroupna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-data-catalogs.

AWS CLI

Para listar os catálogos de dados registrados no Athena

O list-data-catalogs exemplo a seguir lista os catálogos de dados registrados no Athena.

aws athena list-data-catalogs

Saída:

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

Para obter mais informações, consulte Listando catálogos registrados: list-data-catalogs no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte ListDataCatalogsna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-databases.

AWS CLI

Para listar os bancos de dados em um catálogo de dados

O list-databases exemplo a seguir lista os bancos de dados no catálogo AwsDataCatalog de dados.

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

Saída:

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

Para obter mais informações, consulte Listar bancos de dados em um catálogo: bancos de dados de lista no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte ListDatabasesna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-named-queries.

AWS CLI

Para listar as consultas nomeadas para um grupo de trabalho

O list-named-queries exemplo a seguir lista as consultas nomeadas para o grupo AthenaAdmin de trabalho.

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

Saída:

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

Para obter mais informações, consulte Como executar SQL consultas usando o Amazon Athena no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte ListNamedQueriesna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-query-executions.

AWS CLI

Para listar a consulta IDs das consultas em um grupo de trabalho especificado

O list-query-executions exemplo a seguir lista no máximo dez da consulta IDs no AthenaAdmin grupo de trabalho.

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

Saída:

{ "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 obter mais informações, consulte Como trabalhar com resultados de consultas, arquivos de saída e histórico de consultas no Guia do usuário do Amazon Athena.

O código de exemplo a seguir mostra como usar list-table-metadata.

AWS CLI

Para listar os metadados das tabelas no banco de dados especificado de um catálogo de dados

O list-table-metadata exemplo a seguir retorna informações de metadados para no máximo duas tabelas no geography banco de dados do catálogo de AwsDataCatalog dados.

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

Saída:

{ "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 obter mais informações, consulte Mostrar metadados de todas as tabelas em um banco de dados: list-table-metadata no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte ListTableMetadatana Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-tags-for-resource.

AWS CLI

Exemplo 1: Para listar as tags de um grupo de trabalho

O list-tags-for-resource exemplo a seguir lista as tags do Data_Analyst_Group grupo de trabalho.

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

Saída:

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

Exemplo 2: Para listar as tags de um catálogo de dados

O list-tags-for-resource exemplo a seguir lista as tags do catálogo dynamo_db_catalog de dados.

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

Saída:

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

Para obter mais informações, consulte Listar as tags de um recurso: list-tags-for-resource no Guia do usuário do Amazon Athena.

O código de exemplo a seguir mostra como usar list-work-groups.

AWS CLI

Para listar grupos de trabalho

O list-work-groups exemplo a seguir lista os grupos de trabalho na conta atual.

aws athena list-work-groups

Saída:

{ "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 obter mais informações, consulte Gerenciamento de grupos de trabalho no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte ListWorkGroupsna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar start-query-execution.

AWS CLI

Exemplo 1: Para executar uma consulta em um grupo de trabalho na tabela especificada no banco de dados e no catálogo de dados especificados

O start-query-execution exemplo a seguir usa o AthenaAdmin grupo de trabalho para executar uma consulta na cloudfront_logs tabela cflogsdatabase no catálogo de AwsDataCatalog dados.

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

Saída:

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

Para obter mais informações, consulte Como executar SQL consultas usando o Amazon Athena no Guia do usuário do Amazon Athena.

Exemplo 2: Para executar uma consulta que usa um grupo de trabalho especificado para criar um banco de dados no catálogo de dados especificado

O start-query-execution exemplo a seguir usa o AthenaAdmin grupo de trabalho para criar o banco de dados newdb no catálogo AwsDataCatalog de dados padrão.

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

Saída:

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

Para obter mais informações, consulte Como executar SQL consultas usando o Amazon Athena no Guia do usuário do Amazon Athena.

Exemplo 3: Para executar uma consulta que cria uma exibição em uma tabela no banco de dados e no catálogo de dados especificados

O start-query-execution exemplo a seguir usa uma SELECT declaração na cloudfront_logs tabela do cflogsdatabase para criar a exibiçãocf10.

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

Saída:

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

Para obter mais informações, consulte Como executar SQL consultas usando o Amazon Athena no Guia do usuário do Amazon Athena.

O código de exemplo a seguir mostra como usar stop-query-execution.

AWS CLI

Para interromper uma consulta em execução

O stop-query-execution exemplo a seguir interrompe a consulta que tem o ID de consulta especificado.

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

Este comando não produz saída.

Para obter mais informações, consulte Como executar SQL consultas usando o Amazon Athena no Guia do usuário do Amazon Athena.

O código de exemplo a seguir mostra como usar tag-resource.

AWS CLI

Para adicionar uma tag a um recurso

O tag-resource exemplo a seguir adiciona três tags ao catálogo dynamo_db_catalog de dados.

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 não produz saída. Para ver o resultado, useaws athena list-tags-for-resource --resource-arn arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog.

Para obter mais informações, consulte Adicionar tags a um recurso: tag-resource no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte TagResourcena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar untag-resource.

AWS CLI

Para remover uma tag de um recurso

O untag-resource exemplo a seguir remove as Focus chaves Specialization e e seus valores associados do recurso do catálogo de dynamo_db_catalog dados.

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

Este comando não produz saída. Para ver os resultados, use o list-tags-for-resource comando.

Para obter mais informações, consulte Removendo tags de um recurso: untag-resource no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte UntagResourcena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar update-data-catalog.

AWS CLI

Para atualizar um catálogo de dados

O update-data-catalog exemplo a seguir atualiza a função Lambda e a descrição do catálogo de cw_logs_catalog dados.

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 não produz saída. Para ver o resultado, useaws athena get-data-catalog --name cw_logs_catalog.

Para obter mais informações, consulte Atualização de um catálogo: update-data-catalog no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte UpdateDataCatalogna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar update-work-group.

AWS CLI

Para atualizar um grupo de trabalho

O update-work-group exemplo a seguir desativa o grupo de Data_Analyst_Group trabalho. Os usuários não podem executar ou criar consultas no grupo de trabalho desativado, mas ainda podem visualizar métricas, controles de limite de uso de dados, configurações do grupo de trabalho, histórico de consultas e consultas salvas.

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

Este comando não produz saída. Para verificar a alteração no estado, use aws athena get-work-group --work-group Data_Analyst_Group e verifique a State propriedade na saída.

Para obter mais informações, consulte Gerenciamento de grupos de trabalho no Guia do usuário do Amazon Athena.

  • Para API obter detalhes, consulte UpdateWorkGroupna Referência de AWS CLI Comandos.