Esempi di Athena che utilizzano AWS CLI - Esempi di codice dell'AWS SDK

Ci sono altri AWS SDK esempi disponibili nel repository AWS Doc SDK Examples GitHub .

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempi di Athena che utilizzano AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface with Athena.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni di servizio, è possibile visualizzare le azioni nel loro contesto negli scenari correlati.

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzarebatch-get-named-query.

AWS CLI

Per restituire informazioni su più di una query

L'batch-get-named-queryesempio seguente restituisce informazioni sulle interrogazioni denominate con il valore specificatoIDs.

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

Output:

{ "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": [] }

Per ulteriori informazioni, consulta Running SQL Queries Using Amazon Athena nella Amazon Athena User Guide.

Il seguente esempio di codice mostra come utilizzarebatch-get-query-execution.

AWS CLI

Per restituire informazioni su una o più esecuzioni di query

L'batch-get-query-executionesempio seguente restituisce le informazioni sull'esecuzione delle query per le quali è stata specificata la query. IDs

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

Output:

{ "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": [] }

Per ulteriori informazioni, consulta Running SQL Queries Using Amazon Athena nella Amazon Athena User Guide.

Il seguente esempio di codice mostra come utilizzarecreate-data-catalog.

AWS CLI

Per creare un catalogo di dati

L'create-data-catalogesempio seguente crea il catalogo di dynamo_db_catalog dati.

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

Questo comando non produce alcun output. Per vedere il risultato, usaaws athena get-data-catalog --name dynamo_db_catalog.

Per ulteriori informazioni, consulta Registrazione di un catalogo: create-data-catalog nella Guida per l'utente di Amazon Athena.

Il seguente esempio di codice mostra come utilizzarecreate-named-query.

AWS CLI

Per creare una query denominata

L'create-named-queryesempio seguente crea una query salvata nel AthenaAdmin gruppo di lavoro che interroga la flights_parquet tabella per i voli da Seattle a New York nel gennaio 2016, la cui partenza e arrivo sono stati entrambi ritardati di oltre dieci minuti. Poiché i valori dei codici aeroportuali nella tabella sono stringhe che includono virgolette doppie (ad esempio, "SEA«), vengono sostituiti da barre rovesciate e racchiusi tra virgolette singole.

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

Output:

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

Per ulteriori informazioni, consulta Running SQL Queries Using Amazon Athena nella Amazon Athena User Guide.

Il seguente esempio di codice mostra come utilizzarecreate-work-group.

AWS CLI

Per creare un gruppo di lavoro

L'create-work-groupesempio seguente crea un gruppo di lavoro chiamato Data_Analyst_Group che ha la posizione di output dei risultati della query. s3://awsdoc-example-bucket Il comando crea un gruppo di lavoro che sostituisce le impostazioni di configurazione del client, che include la posizione di output dei risultati della query. Il comando abilita inoltre le CloudWatch metriche e aggiunge tre coppie di tag chiave-valore al gruppo di lavoro per distinguerlo dagli altri gruppi di lavoro. Si noti che l'--configurationargomento non ha spazi prima delle virgole che ne separano le opzioni.

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"

Questo comando non produce alcun output. Per vedere i risultati, usaaws athena get-work-group --work-group Data_Analyst_Group.

Per ulteriori informazioni, consulta Managing Workgroups nella Amazon Athena User Guide.

Il seguente esempio di codice mostra come utilizzaredelete-data-catalog.

AWS CLI

Per eliminare un catalogo di dati

L'delete-data-catalogesempio seguente elimina il catalogo di UnusedDataCatalog dati.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Eliminazione di un catalogo: delete-data-catalog nella Guida per l'utente di Amazon Athena.

Il seguente esempio di codice mostra come utilizzaredelete-named-query.

AWS CLI

Per eliminare una query denominata

L'delete-named-queryesempio seguente elimina la query denominata con l'ID specificato.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Running SQL Queries Using Amazon Athena nella Amazon Athena User Guide.

Il seguente esempio di codice mostra come utilizzaredelete-work-group.

AWS CLI

Per eliminare un gruppo di lavoro

L'delete-work-groupesempio seguente elimina il gruppo di lavoro. TeamB

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

Questo comando non produce alcun output. Per confermare l'eliminazione, utilizzare. aws athena list-work-groups

Per ulteriori informazioni, consulta Managing Workgroups nella Amazon Athena User Guide.

Il seguente esempio di codice mostra come utilizzareget-data-catalog.

AWS CLI

Per restituire informazioni su un catalogo di dati

L'get-data-catalogesempio seguente restituisce informazioni sul catalogo di dynamo_db_catalog dati.

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

Output:

{ "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" } } }

Per ulteriori informazioni, consulta Mostrare i dettagli del catalogo: get-data-catalog nella Guida per l'utente di Amazon Athena.

Il seguente esempio di codice mostra come utilizzareget-database.

AWS CLI

Per restituire informazioni su un database in un catalogo di dati

L'get-databaseesempio seguente restituisce informazioni sul sampledb database nel catalogo AwsDataCatalog dati.

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

Output:

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

Per ulteriori informazioni, consulta la sezione Visualizzazione dei dettagli del database: get-database nella Amazon Athena User Guide.

  • Per API i dettagli, consulta Command GetDatabaseReference AWS CLI .

Il seguente esempio di codice mostra come utilizzareget-named-query.

AWS CLI

Per restituire una query denominata

L'get-named-queryesempio seguente restituisce informazioni sulla query con l'ID specificato.

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

Output:

{ "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" } }

Per ulteriori informazioni, consulta Running SQL Queries Using Amazon Athena nella Amazon Athena User Guide.

  • Per API i dettagli, consulta Command GetNamedQueryReference AWS CLI .

Il seguente esempio di codice mostra come utilizzareget-query-execution.

AWS CLI

Per restituire informazioni sull'esecuzione di una query

L'get-query-executionesempio seguente restituisce informazioni sulla query con l'ID di query specificato.

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

Output:

{ "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" } }

Per ulteriori informazioni, consulta Running SQL Queries Using Amazon Athena nella Amazon Athena User Guide.

Il seguente esempio di codice mostra come utilizzareget-query-results.

AWS CLI

Per restituire i risultati di una query

L'get-query-resultsesempio seguente restituisce i risultati della query con l'ID di query specificato.

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

Output:

{ "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 }

Per ulteriori informazioni, consulta Lavorare con i risultati delle query, i file di output e la cronologia delle query nella Guida per l'utente di Amazon Athena.

Il seguente esempio di codice mostra come utilizzareget-table-metadata.

AWS CLI

Per restituire informazioni sui metadati relative a una tabella

L'get-table-metadataesempio seguente restituisce le informazioni sui metadati sulla counties tabella, inclusi i nomi delle colonne e i relativi tipi di dati, dal sampledb database del catalogo dati. AwsDataCatalog

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

Output:

{ "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" } } }

Per ulteriori informazioni, consulta Mostrare i dettagli della tabella: get-table-metadata nella Guida per l'utente di Amazon Athena.

Il seguente esempio di codice mostra come utilizzareget-work-group.

AWS CLI

Per restituire informazioni su un gruppo di lavoro

L'get-work-groupesempio seguente restituisce informazioni sul gruppo di AthenaAdmin lavoro.

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

Output:

{ "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 } }

Per ulteriori informazioni, consulta Managing Workgroups nella Amazon Athena User Guide.

  • Per API i dettagli, consulta AWS CLI Command GetWorkGroupReference.

Il seguente esempio di codice mostra come utilizzarelist-data-catalogs.

AWS CLI

Per elencare i cataloghi di dati registrati con Athena

L'list-data-catalogsesempio seguente elenca i cataloghi di dati registrati con Athena.

aws athena list-data-catalogs

Output:

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

Per ulteriori informazioni, consulta Pubblicare cataloghi registrati: list-data-catalogs nella Guida per l'utente di Amazon Athena.

Il seguente esempio di codice mostra come utilizzarelist-databases.

AWS CLI

Per elencare i database in un catalogo di dati

L'list-databasesesempio seguente elenca i database del catalogo AwsDataCatalog dati.

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

Output:

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

Per ulteriori informazioni, consulta Listing Databases in a Catalog: list-databases in the Amazon Athena User Guide.

  • Per API i dettagli, consulta Command ListDatabasesReference AWS CLI .

Il seguente esempio di codice mostra come utilizzarelist-named-queries.

AWS CLI

Per elencare le interrogazioni denominate per un gruppo di lavoro

L'list-named-queriesesempio seguente elenca le interrogazioni denominate per il gruppo di lavoro. AthenaAdmin

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

Output:

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

Per ulteriori informazioni, consulta Running SQL Queries Using Amazon Athena nella Amazon Athena User Guide.

Il seguente esempio di codice mostra come utilizzarelist-query-executions.

AWS CLI

Per elencare l'interrogazione IDs delle interrogazioni in un gruppo di lavoro specificato

L'list-query-executionsesempio seguente elenca un massimo di dieci interrogazioni IDs nel gruppo di lavoro. AthenaAdmin

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

Output:

{ "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=" }

Per ulteriori informazioni, consulta Lavorare con i risultati delle query, i file di output e la cronologia delle query nella Guida per l'utente di Amazon Athena.

Il seguente esempio di codice mostra come utilizzarelist-table-metadata.

AWS CLI

Per elencare i metadati per le tabelle nel database specificato di un catalogo di dati

L'list-table-metadataesempio seguente restituisce informazioni sui metadati per un massimo di due tabelle nel geography database del catalogo AwsDataCatalog dati.

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

Output:

{ "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==" }

Per ulteriori informazioni, consulta Mostrare i metadati per tutte le tabelle in un database: list-table-metadata nella Amazon Athena User Guide.

Il seguente esempio di codice mostra come utilizzarelist-tags-for-resource.

AWS CLI

Esempio 1: elencare i tag per un gruppo di lavoro

L'list-tags-for-resourceesempio seguente elenca i tag per il gruppo di Data_Analyst_Group lavoro.

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

Output:

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

Esempio 2: per elencare i tag per un catalogo di dati

L'list-tags-for-resourceesempio seguente elenca i tag per il catalogo di dynamo_db_catalog dati.

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

Output:

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

Per ulteriori informazioni, consulta Elencare i tag per una risorsa: list-tags-for-resource nella Amazon Athena User Guide.

Il seguente esempio di codice mostra come utilizzarelist-work-groups.

AWS CLI

Per elencare i gruppi di lavoro

L'list-work-groupsesempio seguente elenca i gruppi di lavoro nell'account corrente.

aws athena list-work-groups

Output:

{ "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 } ] }

Per ulteriori informazioni, consulta Managing Workgroups nella Amazon Athena User Guide.

  • Per API i dettagli, consulta AWS CLI Command ListWorkGroupsReference.

Il seguente esempio di codice mostra come utilizzarestart-query-execution.

AWS CLI

Esempio 1: eseguire un'interrogazione in un gruppo di lavoro sulla tabella specificata nel database e nel catalogo di dati specificati

L'start-query-executionesempio seguente utilizza il AthenaAdmin gruppo di lavoro per eseguire una query sulla cloudfront_logs tabella cflogsdatabase nel catalogo AwsDataCatalog dati.

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

Output:

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

Per ulteriori informazioni, consulta Running SQL Queries Using Amazon Athena nella Amazon Athena User Guide.

Esempio 2: eseguire una query che utilizza un gruppo di lavoro specifico per creare un database nel catalogo di dati specificato

L'start-query-executionesempio seguente utilizza il AthenaAdmin gruppo di lavoro per creare il database newdb nel catalogo dati predefinito. AwsDataCatalog

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

Output:

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

Per ulteriori informazioni, consulta Running SQL Queries Using Amazon Athena nella Amazon Athena User Guide.

Esempio 3: eseguire una query che crea una vista su una tabella nel database e nel catalogo di dati specificati

L'start-query-executionesempio seguente utilizza un'SELECTistruzione sulla cloudfront_logs tabella in cflogsdatabase per creare 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

Output:

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

Per ulteriori informazioni, consulta Running SQL Queries Using Amazon Athena nella Amazon Athena User Guide.

Il seguente esempio di codice mostra come utilizzarestop-query-execution.

AWS CLI

Per interrompere un'interrogazione in esecuzione

L'stop-query-executionesempio seguente interrompe la query con l'ID di query specificato.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Running SQL Queries Using Amazon Athena nella Amazon Athena User Guide.

Il seguente esempio di codice mostra come utilizzaretag-resource.

AWS CLI

Per aggiungere un tag a una risorsa

L'tag-resourceesempio seguente aggiunge tre tag al catalogo dynamo_db_catalog dati.

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

Questo comando non produce alcun output. Per vedere il risultato, usaaws athena list-tags-for-resource --resource-arn arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog.

Per ulteriori informazioni, consulta Aggiungere tag a resource: tag-resource nella Amazon Athena User Guide.

  • Per API i dettagli, consulta Command TagResourceReference AWS CLI .

Il seguente esempio di codice mostra come utilizzareuntag-resource.

AWS CLI

Per rimuovere un tag da una risorsa

L'untag-resourceesempio seguente rimuove le Focus chiavi Specialization and e i relativi valori associati dalla risorsa del catalogo dynamo_db_catalog dati.

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

Questo comando non produce alcun output. Per vedere i risultati, utilizzate il list-tags-for-resource comando.

Per ulteriori informazioni, consulta Rimuovere tag da una risorsa: untag-resource nella Amazon Athena User Guide.

  • Per i API dettagli, consulta UntagResourceCommand Reference.AWS CLI

Il seguente esempio di codice mostra come utilizzareupdate-data-catalog.

AWS CLI

Per aggiornare un catalogo di dati

L'update-data-catalogesempio seguente aggiorna la funzione Lambda e la descrizione del catalogo cw_logs_catalog dati.

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

Questo comando non produce alcun output. Per vedere il risultato, usaaws athena get-data-catalog --name cw_logs_catalog.

Per ulteriori informazioni, consulta Aggiornamento di un catalogo: update-data-catalog nella Guida per l'utente di Amazon Athena.

Il seguente esempio di codice mostra come utilizzareupdate-work-group.

AWS CLI

Per aggiornare un gruppo di lavoro

L'update-work-groupesempio seguente disattiva il Data_Analyst_Group gruppo di lavoro. Gli utenti non possono eseguire o creare query nel gruppo di lavoro disattivato, ma possono comunque visualizzare le metriche, i controlli dei limiti di utilizzo dei dati, le impostazioni del gruppo di lavoro, la cronologia delle query e le query salvate.

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

Questo comando non produce alcun output. Per verificare il cambiamento di stato, utilizzate aws athena get-work-group --work-group Data_Analyst_Group e controllate la proprietà nell'Stateoutput.

Per ulteriori informazioni, consulta Managing Workgroups nella Amazon Athena User Guide.