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-queryrestituisce informazioni sulle query denominate con gli ID specificati.aws athena batch-get-named-query \ --named-query-idsa1b2c3d4-5678-90ab-cdef-EXAMPLE11111a1b2c3d4-5678-90ab-cdef-EXAMPLE22222a1b2c3d4-5678-90ab-cdef-EXAMPLE33333Output:
{ "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-executionrestituisce le informazioni sull’esecuzione delle query per le query con gli ID specificati.aws athena batch-get-query-execution \ --query-execution-idsa1b2c3d4-5678-90ab-cdef-EXAMPLE11111a1b2c3d4-5678-90ab-cdef-EXAMPLE22222Output:
{ "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.
-
Per informazioni dettagliate sull’API, consulta BatchGetQueryExecution
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare create-data-catalog.
- AWS CLI
-
Come creare un catalogo di dati
Nell’esempio seguente,
create-data-catalogcrea il catalogo datidynamo_db_catalog.aws athena create-data-catalog \ --namedynamo_db_catalog\ --typeLAMBDA\ --description"DynamoDB Catalog"\ --parametersfunction=arn:aws:lambda:us-west-2:111122223333:function:dynamo_db_lambdaQuesto 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-querycrea una query salvata nel gruppo di lavoroAthenaAdminche esegue query sulla tabellaflights_parquetrelativa 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."\ --databasesampledb\ --query-string "SELECT flightdate, carrier, flightnum, origin, dest, depdelayminutes, arrdelayminutes FROM sampledb.flights_parquet WHERE yr = 2016 AND month = 1 AND origin = '\"SEA\"' AND dest = '\"JFK\"' AND depdelayminutes > 10 AND arrdelayminutes > 10" \ --work-groupAthenaAdminOutput:
{ "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-groupcrea un gruppo di lavoro denominatoData_Analyst_Group, il cui output dei risultati delle query si trova ins3://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--configurationnon ha spazi prima delle virgole che ne separano le opzioni.aws athena create-work-group \ --nameData_Analyst_Group\ --configuration ResultConfiguration={OutputLocation="s3://amzn-s3-demo-bucket"},EnforceWorkGroupConfiguration="true",PublishCloudWatchMetricsEnabled="true" \ --description"Workgroup for data analysts"\ --tagsKey=Division,Value=WestKey=Location,Value=SeattleKey=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-catalogelimina il catalogo datiUnusedDataCatalog.aws athena delete-data-catalog \ --nameUnusedDataCatalogQuesto 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-queryelimina la query denominata con l’ID specificato.aws athena delete-named-query \ --named-query-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Questo 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-groupelimina il gruppo di lavoroTeamB.aws athena delete-work-group \ --work-groupTeamBQuesto 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-catalogrestituisce informazioni sul catalogo datidynamo_db_catalog.aws athena get-data-catalog \ --namedynamo_db_catalogOutput:
{ "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-databaserestituisce informazioni sul databasesampledbnel catalogo datiAwsDataCatalog.aws athena get-database \ --catalog-nameAwsDataCatalog\ --database-namesampledbOutput:
{ "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-queryrestituisce le informazioni sulla query con l’ID specificato.aws athena get-named-query \ --named-query-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Output:
{ "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-executionrestituisce le informazioni sulla query con l’ID query specificato.aws athena get-query-execution \ --query-execution-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Output:
{ "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-resultsrestituisce i risultati della query con l’ID query specificato.aws athena get-query-results \ --query-execution-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Output:
{ "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-metadatarestituisce informazioni sui metadati della tabellacounties, inclusi i nomi di colonna e i relativi tipi di dati, dal databasesampledbdel catalogo datiAwsDataCatalog.aws athena get-table-metadata \ --catalog-nameAwsDataCatalog\ --database-namesampledb\ --table-namecountiesOutput:
{ "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-grouprestituisce informazioni sul gruppo di lavoroAthenaAdmin.aws athena get-work-group \ --work-groupAthenaAdminOutput:
{ "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-catalogselenca i cataloghi dati registrati con Athena.aws athena list-data-catalogsOutput:
{ "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-databaseselenca i database nel catalogo datiAwsDataCatalog.aws athena list-databases \ --catalog-nameAwsDataCatalogOutput:
{ "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-querieselenca le query denominate per il gruppo di lavoroAthenaAdmin.aws athena list-named-queries \ --work-groupAthenaAdminOutput:
{ "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-executionselenca un massimo di dieci ID di query nel gruppo di lavoroAthenaAdmin.aws athena list-query-executions \ --work-groupAthenaAdmin\ --max-items10Output:
{ "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-metadatarestituisce informazioni sui metadati per un massimo di due tabelle nel databasegeographydel catalogo datiAwsDataCatalog.aws athena list-table-metadata \ --catalog-nameAwsDataCatalog\ --database-namegeography\ --max-items2Output:
{ "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-resourceelenca i tag per il gruppo di lavoroData_Analyst_Group.aws athena list-tags-for-resource \ --resource-arnarn:aws:athena:us-west-2:111122223333:workgroup/Data_Analyst_GroupOutput:
{ "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-resourceelenca i tag per il catalogo datidynamo_db_catalog.aws athena list-tags-for-resource \ --resource-arnarn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalogOutput:
{ "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-groupselenca i gruppi di lavoro nell’account corrente.aws athena list-work-groupsOutput:
{ "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-executionutilizza il gruppo di lavoroAthenaAdminper eseguire una query sulla tabellacloudfront_logsincflogsdatabasenel catalogo datiAwsDataCatalog.aws athena start-query-execution \ --query-string"select date, location, browser, uri, status from cloudfront_logs where method = 'GET' and status = 200 and location like 'SFO%' limit 10"\ --work-group"AthenaAdmin"\ --query-execution-contextDatabase=cflogsdatabase,Catalog=AwsDataCatalogOutput:
{ "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-executionutilizza il gruppo di lavoroAthenaAdminper creare il databasenewdbnel catalogo datiAwsDataCatalogpredefinito.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-executionutilizza un’istruzioneSELECTnella tabellacloudfront_logsincflogsdatabaseper creare la vistacf10.aws athena start-query-execution \ --query-string"CREATE OR REPLACE VIEW cf10 AS SELECT * FROM cloudfront_logs limit 10"\ --query-execution-contextDatabase=cflogsdatabaseOutput:
{ "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-executionarresta la query con l’ID query specificato.aws athena stop-query-execution \ --query-execution-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Questo 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-resourceaggiunge tre tag al catalogo datidynamo_db_catalog.aws athena tag-resource \ --resource-arnarn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog\ --tagsKey=Organization,Value=RetailKey=Division,Value=MountainKey=Product_Line,Value=ShoesKey=Location,Value=DenverQuesto 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-resourcerimuove le chiaviSpecializationeFocuse i relativi valori dalla risorsa del catalogo datidynamo_db_catalog.aws athena untag-resource \ --resource-arnarn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog\ --tag-keysSpecializationFocusQuesto 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-catalogaggiorna la funzione Lambda e la descrizione del catalogo daticw_logs_catalog.aws athena update-data-catalog \ --namecw_logs_catalog\ --typeLAMBDA\ --description"New CloudWatch Logs Catalog"\ --function=arn:aws:lambda:us-west-2:111122223333:function:new_cw_logs_lambdaQuesto 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-groupdisabilita il gruppo di lavoroData_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-groupData_Analyst_Group\ --stateDISABLEDQuesto comando non produce alcun output. Per verificare la variazione di stato, utilizza
aws athena get-work-group --work-group Data_Analyst_Groupe controlla la proprietàStatenell’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.
-