Beispiele für die Verwendung der AWS CLI mit Athena - AWS Command Line Interface

Beispiele für die Verwendung der AWS CLI mit Athena

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie die AWS Command Line Interface mit Athena nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie batch-get-named-query verwendet wird.

AWS CLI

So geben Sie Informationen zu mehr als einer Abfrage zurück

Im folgenden Beispiel für batch-get-named-query werden Informationen zu den benannten Abfragen zurückgegeben, die die angegebenen IDs haben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Ausführen von SQL-Abfragen mit Amazon Athena im Amazon Athena User Guide.

Das folgende Codebeispiel zeigt, wie batch-get-query-execution verwendet wird.

AWS CLI

So geben Sie Informationen zu einer oder mehreren Abfrageausführungen zurück

Im folgenden Beispiel für batch-get-query-execution werden Informationen zu Abfrageausführungen für die Abfragen mit den angegebenen Abfrage-IDs zurückgegeben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Ausführen von SQL-Abfragen mit Amazon Athena im Amazon Athena User Guide.

Das folgende Codebeispiel zeigt, wie create-data-catalog verwendet wird.

AWS CLI

So erstellen Sie einen Datenkatalog

Im folgenden Beispiel für create-data-catalog wird der dynamo_db_catalog-Datenkatalog erstellt.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Um das Ergebnis zu sehen, verwenden Sie aws athena get-data-catalog --name dynamo_db_catalog.

Weitere Informationen finden Sie unter Registrieren eines Katalogs: create-data-catalog im Benutzerhandbuch zu Amazon Athena.

Das folgende Codebeispiel zeigt, wie create-named-query verwendet wird.

AWS CLI

So erstellen Sie eine benannte Abfrage

Im folgenden Beispiel für create-named-query wird eine gespeicherte Abfrage in der AthenaAdmin-Arbeitsgruppe erstellt, mit der die Tabelle flights_parquet nach Flügen von Seattle nach New York im Januar 2016 abgefragt wird, deren Abflug und Ankunft jeweils um mehr als zehn Minuten verspätet waren. Da es sich bei den Flughafencodewerten in der Tabelle um Zeichenfolgen handelt, die doppelte Anführungszeichen enthalten (z. B. „SEA“), werden sie durch umgekehrte Schrägstriche als Escape-Zeichen geschützt und von einfachen Anführungszeichen umgeben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Ausführen von SQL-Abfragen mit Amazon Athena im Amazon Athena User Guide.

Das folgende Codebeispiel zeigt, wie create-work-group verwendet wird.

AWS CLI

So erstellen Sie eine Arbeitsgruppe

Im folgenden Beispiel für create-work-group wird eine Arbeitsgruppe namens Data_Analyst_Group erstellt, die den Speicherort s3://amzn-s3-demo-bucketfür die Ausgabe der Abfrageergebnisse nutzt. Mit dem Befehl wird eine Arbeitsgruppe erstellt, die die Clientkonfigurationseinstellungen außer Kraft setzt. Dazu gehört auch der Speicherort für die Ausgabe der Abfrageergebnisse. Der Befehl aktiviert außerdem CloudWatch-Metriken und fügt der Arbeitsgruppe drei Schlüssel-Wert-Tag-Paare hinzu, um sie von anderen Arbeitsgruppen zu unterscheiden. Beachten Sie, dass das Argument --configuration keine Leerzeichen vor den Kommas enthält, die seine Optionen trennen.

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"

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Um die Ergebnisse zu sehen, verwenden Sie aws athena get-work-group --work-group Data_Analyst_Group.

Weitere Informationen finden Sie unter Verwalten von Arbeitsgruppen im Benutzerhandbuch zu Amazon Athena.

  • API-Details finden Sie unter CreateWorkGroup in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie delete-data-catalog verwendet wird.

AWS CLI

So löschen Sie einen Datenkatalog

Im folgenden Beispiel für delete-data-catalog wird der UnusedDataCatalog-Datenkatalog gelöscht.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Löschen eines Katalogs: delete-data-catalog im Benutzerhandbuch zu Amazon Athena.

Das folgende Codebeispiel zeigt, wie delete-named-query verwendet wird.

AWS CLI

So löschen Sie eine benannte Abfrage

Im folgenden Beispiel für delete-named-query wird die benannte Abfrage mit der angegebenen ID gelöscht.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Ausführen von SQL-Abfragen mit Amazon Athena im Amazon Athena User Guide.

Das folgende Codebeispiel zeigt, wie delete-work-group verwendet wird.

AWS CLI

So löschen Sie eine Arbeitsgruppe

Im folgenden Beispiel für delete-work-group wird die Arbeitsgruppe TeamB gelöscht.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Um den Löschvorgang zu bestätigen, verwenden Sie aws athena list-work-groups.

Weitere Informationen finden Sie unter Verwalten von Arbeitsgruppen im Benutzerhandbuch zu Amazon Athena.

  • API-Details finden Sie unter DeleteWorkGroup in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-data-catalog verwendet wird.

AWS CLI

So rufen Sie Informationen über einen Datenkatalog ab

Mit dem folgenden Beispiel für get-data-catalog werden Informationen über den dynamo_db_catalog-Datenkatalog zurückgegeben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Anzeigen von Katalogdetails: get-data-catalog im Benutzerhandbuch zu Amazon Athena.

  • API-Details finden Sie unter GetDataCatalog in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-database verwendet wird.

AWS CLI

So rufen Sie Informationen über eine Datenbank in einem Datenkatalog ab

Im folgenden Beispiel für get-database werden Informationen über die sampledb-Datenbank im AwsDataCatalog-Datenkatalog zurückgegeben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Anzeigen von Datenbankdetails: get-database im Benutzerhandbuch zu Amazon Athena.

  • API-Details finden Sie unter GetDatabase in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-named-query verwendet wird.

AWS CLI

So geben Sie eine benannte Abfrage zurück

Im folgenden Beispiel für get-named-query werden Informationen über die Abfrage mit der angegebenen ID zurückgegeben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Ausführen von SQL-Abfragen mit Amazon Athena im Amazon Athena User Guide.

  • API-Details finden Sie unter GetNamedQuery in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-query-execution verwendet wird.

AWS CLI

So geben Sie Informationen über eine Abfrageausführung zurück

Im folgenden Beispiel für get-query-execution werden Informationen über die Abfrage mit der angegebenen Abfrage-ID zurückgegeben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Ausführen von SQL-Abfragen mit Amazon Athena im Amazon Athena User Guide.

Das folgende Codebeispiel zeigt, wie get-query-results verwendet wird.

AWS CLI

So geben Sie die Ergebnisse einer Abfrage zurück

Im folgenden Beispiel für get-query-results werden die Ergebnisse der Abfrage mit der angegebenen Abfrage-ID zurückgegeben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Arbeiten mit Abfrageergebnissen, Ausgabedateien und dem Abfrageverlauf im Benutzerhandbuch zu Amazon Athena.

  • API-Details finden Sie unter GetQueryResults in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-table-metadata verwendet wird.

AWS CLI

So geben Sie Metadateninformationen über eine Tabelle zurück

Im folgenden Beispiel für get-table-metadata werden Metadateninformationen über die Tabelle counties, einschließlich Spaltennamen und deren Datentypen, aus der sampledb-Datenbank des AwsDataCatalog-Datenkatalogs zurückgegeben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Anzeigen von Tabellendetails: get-table-metadata im Benutzerhandbuch zu Amazon Athena.

Das folgende Codebeispiel zeigt, wie get-work-group verwendet wird.

AWS CLI

So geben Sie Informationen über eine Arbeitsgruppe zurück

Im folgenden Beispiel für get-work-group werden Informationen über die AthenaAdmin-Arbeitsgruppe zurückgegeben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Verwalten von Arbeitsgruppen im Benutzerhandbuch zu Amazon Athena.

  • API-Details finden Sie unter GetWorkGroup in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-data-catalogs verwendet wird.

AWS CLI

So listen Sie die bei Athena registrierten Datenkataloge auf

Im folgenden Beispiel für list-data-catalogs werden die bei Athena registrierten Datenkataloge aufgelistet.

aws athena list-data-catalogs

Ausgabe:

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

Weitere Informationen finden Sie unter Auflisten registrierter Kataloge: list-data-catalogs im Benutzerhandbuch zu Amazon Athena.

Das folgende Codebeispiel zeigt, wie list-databases verwendet wird.

AWS CLI

So listen Sie die Datenbanken in einem Datenkatalog auf

Im folgenden Beispiel für list-databases werden die Datenbanken im AwsDataCatalog-Datenkatalog aufgelistet.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Auflisten von Datenbanken in einem Katalog: list-databases im Benutzerhandbuch zu Amazon Athena.

  • API-Details finden Sie unter ListDatabases in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-named-queries verwendet wird.

AWS CLI

So listen Sie die benannten Abfragen für eine Arbeitsgruppe auf

Im folgenden Beispiel für list-named-queries werden die benannten Abfragen für die AthenaAdmin-Arbeitsgruppe aufgelistet.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Ausführen von SQL-Abfragen mit Amazon Athena im Amazon Athena User Guide.

Das folgende Codebeispiel zeigt, wie list-query-executions verwendet wird.

AWS CLI

So listen Sie die Abfrage-IDs der Abfragen in einer angegebenen Arbeitsgruppe auf

Im folgenden Beispiel für list-query-executions werden maximal zehn Abfrage-IDs in der AthenaAdmin-Arbeitsgruppe aufgelistet.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Arbeiten mit Abfrageergebnissen, Ausgabedateien und dem Abfrageverlauf im Benutzerhandbuch zu Amazon Athena.

Das folgende Codebeispiel zeigt, wie list-table-metadata verwendet wird.

AWS CLI

So listen Sie die Metadaten für Tabellen in der angegebenen Datenbank eines Datenkatalogs auf

Im folgenden Beispiel für list-table-metadata werden Metadateninformationen für maximal zwei Tabellen in der geography-Datenbank des AwsDataCatalog-Datenkatalogs zurückgegeben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Anzeigen von Metadaten für alle Tabellen in einer Datenbank: list-table-metadata im Benutzerhandbuch zu Amazon Athena.

Das folgende Codebeispiel zeigt, wie list-tags-for-resource verwendet wird.

AWS CLI

Beispiel 1: So listen Sie die Tags für eine Arbeitsgruppe auf

Im folgenden Beispiel für list-tags-for-resource werden die Tags für die Arbeitsgruppe Data_Analyst_Group aufgelistet:

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

Ausgabe:

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

Beispiel 2: So listen Sie die Tags für einen Datenkatalog auf

Im folgenden Beispiel für list-tags-for-resource werden die Tags für den dynamo_db_catalog-Datenkatalog aufgelistet.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Auflisten der Tags für eine Ressource: list-tags-for-resource im Benutzerhandbuch zu Amazon Athena.

Das folgende Codebeispiel zeigt, wie list-work-groups verwendet wird.

AWS CLI

So listen Sie Arbeitsgruppen auf

Im folgenden Beispiel für list-work-groups werden die Arbeitsgruppen im aktuellen Konto aufgelistet.

aws athena list-work-groups

Ausgabe:

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

Weitere Informationen finden Sie unter Verwalten von Arbeitsgruppen im Benutzerhandbuch zu Amazon Athena.

  • API-Details finden Sie unter ListWorkGroups in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie start-query-execution verwendet wird.

AWS CLI

Beispiel 1: So führen Sie eine Abfrage in einer Arbeitsgruppe für die angegebene Tabelle in der angegebenen Datenbank und dem angegebenen Datenkatalog aus

Im folgenden Beispiel für start-query-execution wird die AthenaAdmin-Arbeitsgruppe verwendet, um eine Abfrage für die cloudfront_logs-Tabelle in der cflogsdatabase im AwsDataCatalog-Datenkatalog auszuführen.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Ausführen von SQL-Abfragen mit Amazon Athena im Amazon Athena User Guide.

Beispiel 2: So führen Sie eine Abfrage aus, die eine angegebene Arbeitsgruppe verwendet, um eine Datenbank im angegebenen Datenkatalog zu erstellen

Im folgenden Beispiel für start-query-execution wird die AthenaAdmin-Arbeitsgruppe verwendet, um die Datenbank newdb im Standarddatenkatalog AwsDataCatalog zu erstellen.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Ausführen von SQL-Abfragen mit Amazon Athena im Amazon Athena User Guide.

Beispiel 3: So führen Sie eine Abfrage aus, mit der eine Ansicht für eine Tabelle in der angegebenen Datenbank und dem angegebenen Datenkatalog erstellt wird

Im folgenden Beispiel für start-query-execution wird eine SELECT-Anweisung für die cloudfront_logs-Tabelle in dercflogsdatabase verwendet, um die Ansichtcf10 zu erstellen.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Ausführen von SQL-Abfragen mit Amazon Athena im Amazon Athena User Guide.

Das folgende Codebeispiel zeigt, wie stop-query-execution verwendet wird.

AWS CLI

So beenden Sie eine laufende Abfrage

Im folgenden Beispiel für stop-query-execution wird die Abfrage mit der angegebenen Abfrage-ID beendet.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Ausführen von SQL-Abfragen mit Amazon Athena im Amazon Athena User Guide.

Das folgende Codebeispiel zeigt, wie tag-resource verwendet wird.

AWS CLI

So fügen Sie einer Ressource einen Tag hinzu

Im folgenden Beispiel für tag-resource werden dem dynamo_db_catalog-Datenkatalog drei Tags hinzugefügt.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Um das Ergebnis zu sehen, verwenden Sie aws athena list-tags-for-resource --resource-arn arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog.

Weitere Informationen finden Sie unter Auflisten der Tags für eine Ressource: tag-resource im Benutzerhandbuch zu Amazon Athena.

  • API-Details finden Sie unter TagResource in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie untag-resource verwendet wird.

AWS CLI

So entfernen Sie ein Tag von einer Ressource

Im folgenden Beispiel für untag-resource werden die Schlüssel Specialization und Focus sowie deren zugeordneten Werte aus der dynamo_db_catalog-Datenkatalogressource entfernt.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Um die Ergebnisse anzuzeigen, verwenden Sie den list-tags-for-resource-Befehl.

Weitere Informationen finden Sie unter Entfernen der Tags von einer Ressource: untag-resource im Benutzerhandbuch zu Amazon Athena.

  • API-Details finden Sie unter UntagResource in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie update-data-catalog verwendet wird.

AWS CLI

So aktualisieren Sie einen Datenkatalog

Im folgenden Beispiel für update-data-catalog werden die Lambda-Funktion und die Beschreibung des cw_logs_catalog-Datenkatalogs aktualisiert.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Um das Ergebnis zu sehen, verwenden Sie aws athena get-data-catalog --name cw_logs_catalog.

Weitere Informationen finden Sie unter Aktualisieren eines Katalogs: update-data-catalog im Benutzerhandbuch zu Amazon Athena.

Das folgende Codebeispiel zeigt, wie update-work-group verwendet wird.

AWS CLI

So aktualisieren Sie eine Arbeitsgruppe

Im folgenden Beispiel für update-work-group wird die Arbeitsgruppe Data_Analyst_Group deaktiviert. Benutzer können in der deaktivierten Arbeitsgruppe keine Abfragen ausführen oder erstellen, können aber dennoch Metriken, Limits zur Kontrolle der Datennutzung, Arbeitsgruppeneinstellungen, den Abfrageverlauf und gespeicherte Abfragen anzeigen.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Um die Statusänderung zu überprüfen, verwenden Sie aws athena get-work-group --work-group Data_Analyst_Group und überprüfen Sie die Eigenschaft State in der Ausgabe.

Weitere Informationen finden Sie unter Verwalten von Arbeitsgruppen im Benutzerhandbuch zu Amazon Athena.

  • API-Details finden Sie unter UpdateWorkGroup in der AWS CLI-Befehlsreferenz.