Esempi di Athena con l’utilizzo della AWS CLI - AWS Command Line Interface

Esempi di Athena con l’utilizzo della AWS CLI

Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando la AWS Command Line Interface con Athena.

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

Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Operazioni

L’esempio di codice seguente mostra come utilizzare batch-get-named-query.

AWS CLI

Come restituire informazioni su più di una query

Nell’esempio seguente, batch-get-named-query restituisce informazioni sulle query denominate con gli ID specificati.

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

  • Per informazioni dettagliate sull’API, consulta BatchGetNamedQuery in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare batch-get-query-execution.

AWS CLI

Come restituire informazioni su una o più esecuzioni di query

Nell’esempio seguente, batch-get-query-execution restituisce le informazioni sull’esecuzione delle query per le query con gli ID specificati.

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

L’esempio di codice seguente mostra come utilizzare create-data-catalog.

AWS CLI

Come creare un catalogo di dati

Nell’esempio seguente, create-data-catalog 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.

  • Per informazioni dettagliate sull’API, consulta CreateDataCatalog in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-named-query.

AWS CLI

Come creare una query denominata

Nell’esempio seguente, create-named-query 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 la sezione Esecuzione di query SQL con Amazon Athena nella Guida per l’utente di Amazon Athena.

  • Per informazioni dettagliate sull’API, consulta CreateNamedQuery in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-work-group.

AWS CLI

Come creare un gruppo di lavoro

Nell’esempio seguente, create-work-group 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 anche le metriche di CloudWatch 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 informazioni dettagliate sull’API, consulta CreateWorkGroup in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-data-catalog.

AWS CLI

Come eliminare un catalogo di dati

Nell’esempio seguente, delete-data-catalog 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.

  • Per informazioni dettagliate sull’API, consulta DeleteDataCatalog in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-named-query.

AWS CLI

Come eliminare una query denominata

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

  • Per informazioni dettagliate sull’API, consulta DeleteNamedQuery in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-work-group.

AWS CLI

Come eliminare un gruppo di lavoro

Nell’esempio seguente, delete-work-group 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.

  • Per informazioni dettagliate sull’API, consulta DeleteWorkGroup in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-data-catalog.

AWS CLI

Come restituire le informazioni su un catalogo dati

Nell’esempio seguente, get-data-catalog 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 Visualizzazione dei dettagli del catalogo: get-data-catalog nella Guida per l’utente di Amazon Athena.

  • Per informazioni dettagliate sull’API, consulta GetDataCatalog in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-database.

AWS CLI

Come restituire le informazioni su un database in un catalogo dati

Nell’esempio seguente, get-database 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.

  • Per informazioni dettagliate sull’API, consulta GetDatabase in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-named-query.

AWS CLI

Come restituire una query denominata

Nell’esempio seguente, get-named-query restituisce le 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 la sezione Esecuzione di query SQL con Amazon Athena nella Guida per l’utente di Amazon Athena.

  • Per informazioni dettagliate sull’API, consulta GetNamedQuery in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-query-execution.

AWS CLI

Come restituire informazioni su un’esecuzione di query

Nell’esempio seguente, get-query-execution restituisce le informazioni sulla 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 la sezione Esecuzione di query SQL con Amazon Athena nella Guida per l’utente di Amazon Athena.

  • Per informazioni dettagliate sull’API, consulta GetQueryExecution in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-query-results.

AWS CLI

Come restituire i risultati di una query

Nell’esempio seguente, get-query-results 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 la sezione Utilizzo di risultati delle query, file di output e cronologia delle query nella Guida per l’utente di Amazon Athena.

  • Per informazioni dettagliate sull’API, consulta GetQueryResults in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-table-metadata.

AWS CLI

Come restituire le informazioni sui metadati relativi a una tabella

Nell’esempio seguente, get-table-metadata 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 Visualizzazione dei dettagli delle tabelle: get-table-metadata nella Guida per l’utente di Amazon Athena.

  • Per informazioni dettagliate sull’API, consulta GetTableMetadata in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-work-group.

AWS CLI

Come restituire le informazioni su un gruppo di lavoro

Nell’esempio seguente, get-work-group 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.

  • Per informazioni dettagliate sull’API, consulta GetWorkGroup in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-data-catalogs.

AWS CLI

Come elencare i cataloghi dati registrati con Athena

Nell’esempio seguente, list-data-catalogs 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 Elenco dei cataloghi registrati: list-data-catalogs nella Guida per l’utente di Amazon Athena.

  • Per informazioni dettagliate sull’API, consulta ListDataCatalogs in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-databases.

AWS CLI

Come elencare i database in un catalogo dati

Nell’esempio seguente, list-databases 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.

  • Per informazioni dettagliate sull’API, consulta ListDatabases in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-named-queries.

AWS CLI

Come elencare le query denominate per un gruppo di lavoro

Nell’esempio seguente, list-named-queries 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 la sezione Esecuzione di query SQL con Amazon Athena nella Guida per l’utente di Amazon Athena.

  • Per informazioni dettagliate sull’API, consulta ListNamedQueries in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-query-executions.

AWS CLI

Come elencare gli ID delle query in un gruppo di lavoro specificato

Nell’esempio seguente, list-query-executions elenca un massimo di dieci ID di query 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 la sezione Utilizzo di risultati delle query, file di output e cronologia delle query nella Guida per l’utente di Amazon Athena.

  • Per informazioni dettagliate sull’API, consulta ListQueryExecutions in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-table-metadata.

AWS CLI

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

Nell’esempio seguente, list-table-metadata 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 Visualizzazione dei metadati per tutte le tabelle in un database: list-table-metadata nella Guida per l’utente di Amazon Athena.

  • Per informazioni dettagliate sull’API, consulta ListTableMetadata in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-tags-for-resource.

AWS CLI

Esempio 1: come elencare i tag per un gruppo di lavoro

Nell’esempio seguente, list-tags-for-resource 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

Nell’esempio seguente, list-tags-for-resource 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 Elenco dei tag associati a una risorsa: list-tags-for-resource nella Guida per l’utente di Amazon Athena.

  • Per informazioni dettagliate sull’API, consulta ListTagsForResource nella Documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare list-work-groups.

AWS CLI

Come elencare i gruppi di lavoro

Nell’esempio seguente, list-work-groups 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.

  • Per informazioni dettagliate sull’API, consulta ListWorkGroups in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare start-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

Nell’esempio seguente, start-query-execution 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 la sezione 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

Nell’esempio seguente, start-query-execution 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 la sezione 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

Nell’esempio seguente, start-query-execution 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 la sezione Esecuzione di query SQL con Amazon Athena nella Guida per l’utente di Amazon Athena.

  • Per informazioni dettagliate sull’API, consulta StartQueryExecution in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare stop-query-execution.

AWS CLI

Come arrestare una query in esecuzione

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

  • Per informazioni dettagliate sull’API, consulta StopQueryExecution in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare tag-resource.

AWS CLI

Come aggiungere un tag a una risorsa

Nell’esempio seguente, tag-resource 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.

  • Per informazioni dettagliate sull’API, consulta TagResource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare untag-resource.

AWS CLI

Come rimuovere un tag da una risorsa

Nell’esempio seguente, untag-resource rimuove le chiavi Specialization e Focus 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.

  • Per informazioni dettagliate sull’API, consulta UntagResource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-data-catalog.

AWS CLI

Come aggiornare un catalogo di dati

Nell’esempio seguente, update-data-catalog 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.

  • Per informazioni dettagliate sull’API, consulta UpdateDataCatalog in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-work-group.

AWS CLI

Come aggiornare un gruppo di lavoro

Nell’esempio seguente, update-work-group 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.

  • Per informazioni dettagliate sull’API, consulta UpdateWorkGroup in AWS CLI Command Reference.