Esempi di Athena che utilizzano AWS CLI - AWS Command Line Interface

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 azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le 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

Come restituire informazioni su più di una query

L'batch-get-named-queryesempio seguente restituisce informazioni sulle interrogazioni denominate che hanno il valore specificato IDs.

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 Esecuzione di query SQL con Amazon Athena nella Guida per l’utente di Amazon Athena.

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

AWS CLI

Come 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://amzn-s3-demo-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://amzn-s3-demo-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 Esecuzione di query SQL con Amazon Athena nella Guida per l’utente di Amazon Athena.

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

AWS CLI

Come creare un catalogo di dati

L’esempio create-data-catalog seguente crea il catalogo dati dynamo_db_catalog.

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 visualizzare il risultato, utilizza aws 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

Come creare una query denominata

L’esempio create-named-query seguente crea una query salvata nel gruppo di lavoro AthenaAdmin che esegue query sulla tabella flights_parquet relativa ai voli Seattle-New York nel gennaio 2016 caratterizzati da ritardi alla partenza e all’arrivo di oltre dieci minuti. Poiché i valori dei codici aeroportuali nella tabella sono stringhe che includono virgolette doppie (ad esempio, “SEA”), vengono preceduti 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 Esecuzione di query SQL con Amazon Athena nella Guida per l’utente di Amazon Athena.

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

AWS CLI

Come creare un gruppo di lavoro

L’esempio create-work-group seguente crea un gruppo di lavoro denominato Data_Analyst_Group, il cui output dei risultati delle query si trova in s3://amzn-s3-demo-bucket. Il comando crea un gruppo di lavoro che sostituisce le impostazioni di configurazione del client, il 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. Nota che l’argomento --configuration non ha spazi prima delle virgole che ne separano le opzioni.

aws athena create-work-group \ --name Data_Analyst_Group \ --configuration ResultConfiguration={OutputLocation="s3://amzn-s3-demo-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 visualizzare i risultati, utilizza aws athena get-work-group --work-group Data_Analyst_Group.

Per ulteriori informazioni, consulta Gestione dei gruppi di lavoro nella Guida per l’utente di Amazon Athena.

  • Per i dettagli sull'API, consulta Command Reference. CreateWorkGroupAWS CLI

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

AWS CLI

Come eliminare un catalogo di dati

L’esempio delete-data-catalog seguente elimina il catalogo dati UnusedDataCatalog.

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

Come eliminare una query denominata

L’esempio delete-named-query 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 Esecuzione di query SQL con Amazon Athena nella Guida per l’utente di Amazon Athena.

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

AWS CLI

Come eliminare un gruppo di lavoro

L’esempio delete-work-group 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, utilizza aws athena list-work-groups.

Per ulteriori informazioni, consulta Gestione dei gruppi di lavoro nella Guida per l’utente di Amazon Athena.

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

AWS CLI

Come restituire le informazioni su un catalogo dati

L’esempio get-data-catalog seguente restituisce informazioni sul catalogo dati dynamo_db_catalog.

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

Come restituire le informazioni su un database in un catalogo dati

L’esempio get-database seguente restituisce informazioni sul database sampledb nel catalogo dati AwsDataCatalog.

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 Visualizzazione dei dettagli del database: get-database nella Guida per l’utente di Amazon Athena.

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

AWS CLI

Come restituire una query denominata

L’esempio get-named-query seguente restituisce informazioni sulle 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 Esecuzione di query SQL con Amazon Athena nella Guida per l’utente di Amazon Athena.

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

AWS CLI

Come restituire informazioni su un’esecuzione di query

L’esempio get-query-execution seguente restituisce informazioni sulle query con l’ID 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://amzn-s3-demo-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 Esecuzione di query SQL con Amazon Athena nella Guida per l’utente di Amazon Athena.

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

AWS CLI

Come restituire i risultati di una query

L’esempio get-query-results seguente restituisce i risultati della query con l’ID 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 Utilizzo di risultati delle query, file di output e cronologia delle query nella Guida per l’utente di Amazon Athena.

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

AWS CLI

Come restituire le informazioni sui metadati relativi a una tabella

L’esempio get-table-metadata seguente restituisce informazioni sui metadati della tabella counties, inclusi i nomi di colonna e i relativi tipi di dati, dal database sampledb 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://amzn-s3-demo-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

Come restituire le informazioni su un gruppo di lavoro

L’esempio get-work-group seguente restituisce informazioni sul gruppo di lavoro AthenaAdmin.

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

Output:

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

Per ulteriori informazioni, consulta Gestione dei gruppi di lavoro nella Guida per l’utente di Amazon Athena.

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

AWS CLI

Come elencare i cataloghi dati registrati con Athena

L’esempio list-data-catalogs seguente elenca i cataloghi 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

Come elencare i database in un catalogo dati

L’esempio list-databases seguente elenca i database nel catalogo dati AwsDataCatalog.

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 Elenco dei database in un catalogo: list-databases nella Guida per l’utente di Amazon Athena.

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

AWS CLI

Come elencare le query denominate per un gruppo di lavoro

L’esempio list-named-queries seguente elenca le query 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 Esecuzione di query SQL con Amazon Athena nella Guida per l’utente di Amazon Athena.

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 Utilizzo di risultati delle query, file di output e cronologia delle query nella Guida per l’utente di Amazon Athena.

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

AWS CLI

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

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

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://amzn-s3-demo-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://amzn-s3-demo-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: come elencare i tag per un gruppo di lavoro

L’esempio list-tags-for-resource seguente elenca i tag per il gruppo di lavoro Data_Analyst_Group.

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: come elencare i tag per un catalogo dati

L’esempio list-tags-for-resource seguente elenca i tag per il catalogo dati dynamo_db_catalog.

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

Come elencare i gruppi di lavoro

L’esempio list-work-groups 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 Gestione dei gruppi di lavoro nella Guida per l’utente di Amazon Athena.

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

AWS CLI

Esempio 1: come eseguire una query in un gruppo di lavoro sulla tabella specificata nel database e nel catalogo dati specificati

L’esempio start-query-execution seguente utilizza il gruppo di lavoro AthenaAdmin per eseguire una query sulla tabella cloudfront_logs in cflogsdatabase nel catalogo dati AwsDataCatalog.

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 Esecuzione di query SQL con Amazon Athena nella Guida per l’utente di Amazon Athena.

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

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

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 Esecuzione di query SQL con Amazon Athena nella Guida per l’utente di Amazon Athena.

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

L’esempio start-query-execution seguente utilizza un’istruzione SELECT nella tabella cloudfront_logs in cflogsdatabase per creare la vista cf10.

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 Esecuzione di query SQL con Amazon Athena nella Guida per l’utente di Amazon Athena.

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

AWS CLI

Come arrestare una query in esecuzione

L’esempio stop-query-execution seguente arresta la query con l’ID 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 Esecuzione di query SQL con Amazon Athena nella Guida per l’utente di Amazon Athena.

Il seguente esempio di codice mostra come utilizzaretag-resource.

AWS CLI

Come aggiungere un tag a una risorsa

L’esempio tag-resource seguente aggiunge tre tag al catalogo dati dynamo_db_catalog.

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 visualizzare il risultato, utilizza aws athena list-tags-for-resource --resource-arn arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog.

Per ulteriori informazioni, consulta Aggiunta di tag associati a una risorsa: tag-resource nella Guida per l’utente di Amazon Athena.

Il seguente esempio di codice mostra come utilizzareuntag-resource.

AWS CLI

Come rimuovere un tag da una risorsa

L’esempio untag-resource seguente rimuove le chiavi Focus e Specialization e i relativi valori dalla risorsa del catalogo dati dynamo_db_catalog.

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 visualizzare i risultati, utilizza il comando list-tags-for-resource.

Per ulteriori informazioni, consulta Rimozione di tag associati a una risorsa: untag-resource nella Guida per l’utente di Amazon Athena.

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

AWS CLI

Come aggiornare un catalogo di dati

L’esempio update-data-catalog seguente aggiorna la funzione Lambda e la descrizione del catalogo dati cw_logs_catalog.

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 visualizzare il risultato, utilizza aws 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

Come aggiornare un gruppo di lavoro

L’esempio update-work-group seguente disabilita il gruppo di lavoro Data_Analyst_Group. 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 la variazione di stato, utilizza aws athena get-work-group --work-group Data_Analyst_Group e controlla la proprietà State nell’output.

Per ulteriori informazioni, consulta Gestione dei gruppi di lavoro nella Guida per l’utente di Amazon Athena.