AWS CLI を使用した Athena の例
次のコード例では、Athena で AWS Command Line Interface を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。
アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。
各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。
トピック
アクション
次の例では、batch-get-named-query
を使用する方法を説明しています。
- AWS CLI
-
複数のクエリに関する情報を返す方法
次の
batch-get-named-query
例では、指定された ID を持つ名前付きクエリに関する情報を返します。aws athena batch-get-named-query \ --named-query-ids
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
a1b2c3d4-5678-90ab-cdef-EXAMPLE22222
a1b2c3d4-5678-90ab-cdef-EXAMPLE33333
出力:
{ "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": [] }
詳細については、Amazon Athena ユーザーガイドの「Amazon Athena を使用した SQL クエリの実行」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「BatchGetNamedQuery
」を参照してください。
-
次の例では、batch-get-query-execution
を使用する方法を説明しています。
- AWS CLI
-
複数のクエリ実行に関する情報を返す方法
次の
batch-get-query-execution
の例では、指定されたクエリ ID を持つクエリのクエリ実行情報を返します。aws athena batch-get-query-execution \ --query-execution-ids
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
a1b2c3d4-5678-90ab-cdef-EXAMPLE22222
出力:
{ "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": [] }
詳細については、Amazon Athena ユーザーガイドの「Amazon Athena を使用した SQL クエリの実行」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「BatchGetQueryExecution
」を参照してください。
-
次の例では、create-data-catalog
を使用する方法を説明しています。
- AWS CLI
-
データカタログを作成する方法
次の
create-data-catalog
の例では、dynamo_db_catalog
データカタログを削除します。aws athena create-data-catalog \ --name
dynamo_db_catalog
\ --typeLAMBDA
\ --description"DynamoDB Catalog"
\ --parametersfunction=arn:aws:lambda:us-west-2:111122223333:function:dynamo_db_lambda
このコマンドでは何も出力されません。結果を表示するには、
aws athena get-data-catalog --name dynamo_db_catalog
を使用します。詳細については、「Amazon Athena ユーザーガイド」の「カタログの登録: create-data-catalog」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「CreateDataCatalog
」を参照してください。
-
次の例では、create-named-query
を使用する方法を説明しています。
- AWS CLI
-
名前付きクエリを作成する方法
次の
create-named-query
の例では、2016 年 1 月にシアトルからニューヨークへのフライトについて、出発と到着の両方が 10 分以上遅れているflights_parquet
のテーブルにクエリを実行するAthenaAdmin
のワークグループに保存されたクエリを作成します。テーブル内の空港コード値は二重引用符 (例:「SEA」) を含む文字列であるため、バックスラッシュでエスケープされ、一重引用符で囲まれます。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-groupAthenaAdmin
出力:
{ "NamedQueryId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }
詳細については、Amazon Athena ユーザーガイドの「Amazon Athena を使用した SQL クエリの実行」を参照してください。
-
API の詳細については、「AWS CLI コマンドレットリファレンス」の「CreateNamedQuery
」を参照してください。
-
次の例では、create-work-group
を使用する方法を説明しています。
- AWS CLI
-
ワークグループを作成する方法
次の
create-work-group
の例では、クエリ結果の出力場所「s3://amzn-s3-demo-bucket
」を持つ「Data_Analyst_Group
」というワークグループを作成します。コマンドは、クエリ結果の出力場所を含むクライアント構成を上書きするワークグループを作成します。また、このコマンドは CloudWatch メトリクスを有効にし、ワークグループに 3 つのキーと値のタグペアを追加して、他のワークグループと区別します。--configuration
引数には、オプションを区切るカンマの前にスペースがないことに注意してください。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"
\ --tagsKey=Division,Value=West
Key=Location,Value=Seattle
Key=Team,Value="Big Data"このコマンドでは何も出力されません。結果を表示するには、
aws athena get-work-group --work-group Data_Analyst_Group
を使用します。詳細については、「Amazon Athena ユーザーガイド」の「ワークグループの管理」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「CreateWorkGroup
」を参照してください。
-
次の例では、delete-data-catalog
を使用する方法を説明しています。
- AWS CLI
-
データカタログを削除する方法
次の
delete-data-catalog
の例では、UnusedDataCatalog
データカタログを削除します。aws athena delete-data-catalog \ --name
UnusedDataCatalog
このコマンドでは何も出力されません。
詳細については、「Amazon Athena ユーザーガイド」の「カタログの削除: delete-data-catalog」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteDataCatalog
」を参照してください。
-
次の例では、delete-named-query
を使用する方法を説明しています。
- AWS CLI
-
名前付きクエリを削除する方法
次の
delete-named-query
の例では、指定された ID を持つ名前付きクエリを削除します。aws athena delete-named-query \ --named-query-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
このコマンドでは何も出力されません。
詳細については、Amazon Athena ユーザーガイドの「Amazon Athena を使用した SQL クエリの実行」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteNamedQuery
」を参照してください。
-
次の例では、delete-work-group
を使用する方法を説明しています。
- AWS CLI
-
ワークグループを削除する方法
次の
delete-work-group
の例では、TeamB
のワークグループを削除します。aws athena delete-work-group \ --work-group
TeamB
このコマンドでは何も出力されません。削除を確認するには、
aws athena list-work-groups
を使用します。詳細については、「Amazon Athena ユーザーガイド」の「ワークグループの管理」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteWorkGroup
」を参照してください。
-
次の例では、get-data-catalog
を使用する方法を説明しています。
- AWS CLI
-
データカタログに関する情報を返す方法
次の
get-data-catalog
の例では、dynamo_db_catalog
データカタログのデータベースに関する情報を返します。aws athena get-data-catalog \ --name
dynamo_db_catalog
出力:
{ "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" } } }
詳細については、「Amazon Athena ユーザーガイド」の「カタログの詳細を表示: get-data-catalog」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「GetDataCatalog
」を参照してください。
-
次の例では、get-database
を使用する方法を説明しています。
- AWS CLI
-
データカタログ内のデータベースに関する情報を返す方法
次の
get-database
の例では、AwsDataCatalog
データカタログのsampledb
データベースに関する情報を返します。aws athena get-database \ --catalog-name
AwsDataCatalog
\ --database-namesampledb
出力:
{ "Database": { "Name": "sampledb", "Description": "Sample database", "Parameters": { "CreatedBy": "Athena", "EXTERNAL": "TRUE" } } }
詳細については、「Amazon Athena ユーザーガイド」の「データベースの詳細を表示: get-database」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「GetDatabase
」を参照してください。
-
次の例では、get-named-query
を使用する方法を説明しています。
- AWS CLI
-
名前付きクエリを返す方法
次の
get-named-query
例では、指定された ID を持つクエリに関する情報を返します。aws athena get-named-query \ --named-query-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
出力:
{ "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" } }
詳細については、Amazon Athena ユーザーガイドの「Amazon Athena を使用した SQL クエリの実行」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「GetNamedQuery
」を参照してください。
-
次の例では、get-query-execution
を使用する方法を説明しています。
- AWS CLI
-
クエリ実行に関する情報を返す方法
次の
get-query-execution
の例では、指定されたクエリ ID が持つクエリに関する情報を返します。aws athena get-query-execution \ --query-execution-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
出力:
{ "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" } }
詳細については、Amazon Athena ユーザーガイドの「Amazon Athena を使用した SQL クエリの実行」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「GetQueryExecution
」を参照してください。
-
次の例では、get-query-results
を使用する方法を説明しています。
- AWS CLI
-
クエリの結果を返す方法
次の
get-query-results
の例では、指定されたクエリ ID が持つクエリに関する結果を返します。aws athena get-query-results \ --query-execution-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
出力:
{ "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 }
詳細については、「Amazon Athena ユーザーガイド」の「クエリ結果、出力ファイル、クエリ履歴の使用」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「GetQueryResults
」を参照してください。
-
次の例では、get-table-metadata
を使用する方法を説明しています。
- AWS CLI
-
テーブルのメタデータ情報を返す方法
次の
get-table-metadata
の例では、AwsDataCatalog
データカタログのsampledb
データベースから、列名とそのデータ型を含むテーブルに関するメタデータ情報を返します。aws athena get-table-metadata \ --catalog-name
AwsDataCatalog
\ --database-namesampledb
\ --table-namecounties
出力:
{ "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" } } }
詳細については、「Amazon Athena ユーザーガイド」の「テーブルの詳細を表示: get-table-metadata」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「GetTableMetadata
」を参照してください。
-
次の例では、get-work-group
を使用する方法を説明しています。
- AWS CLI
-
ワークグループに関する情報を返す方法
次の
get-work-group
の例では、AthenaAdmin
ワークグループに関する情報を返します。aws athena get-work-group \ --work-group
AthenaAdmin
出力:
{ "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 } }
詳細については、「Amazon Athena ユーザーガイド」の「ワークグループの管理」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「GetWorkGroup
」を参照してください。
-
次の例では、list-data-catalogs
を使用する方法を説明しています。
- AWS CLI
-
Athena に登録されているデータカタログを一覧表示する方法
次の
list-data-catalogs
の例では、Athena に登録されているデータカタログを一覧表示します。aws athena list-data-catalogs
出力:
{ "DataCatalogsSummary": [ { "CatalogName": "AwsDataCatalog", "Type": "GLUE" }, { "CatalogName": "cw_logs_catalog", "Type": "LAMBDA" }, { "CatalogName": "cw_metrics_catalog", "Type": "LAMBDA" } ] }
詳細については、「Amazon Athena ユーザーガイド」の「カタログの登録を一覧表示: list-data-catalogs」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「ListDataCatalogs
」を参照してください。
-
次の例では、list-databases
を使用する方法を説明しています。
- AWS CLI
-
データカタログ内のデータベースを一覧表示する方法
次の
list-databases
の例では、AwsDataCatalog
データカタログのデータベースを一覧表示します。aws athena list-databases \ --catalog-name
AwsDataCatalog
出力:
{ "DatabaseList": [ { "Name": "default" }, { "Name": "mydatabase" }, { "Name": "newdb" }, { "Name": "sampledb", "Description": "Sample database", "Parameters": { "CreatedBy": "Athena", "EXTERNAL": "TRUE" } }, { "Name": "webdata" } ] }
詳細については、「Amazon Athena ユーザーガイド」の「カタログのデータベースを一覧表示: list-databases」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「ListDatabases
」を参照してください。
-
次の例では、list-named-queries
を使用する方法を説明しています。
- AWS CLI
-
ワークグループの名前付きクエリを一覧表示する方法
次の
list-named-queries
例では、AthenaAdmin
ワークグループの名前付きクエリを一覧表示します。aws athena list-named-queries \ --work-group
AthenaAdmin
出力:
{ "NamedQueryIds": [ "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333" ] }
詳細については、Amazon Athena ユーザーガイドの「Amazon Athena を使用した SQL クエリの実行」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「ListNamedQueries
」を参照してください。
-
次の例では、list-query-executions
を使用する方法を説明しています。
- AWS CLI
-
指定されたワークグループ内のクエリのクエリ ID を一覧表示する方法
次の
list-query-executions
の例では、AthenaAdmin
ワークグループ内のクエリ ID を最大 10 個まで一覧表示します。aws athena list-query-executions \ --work-group
AthenaAdmin
\ --max-items10
出力:
{ "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=" }
詳細については、「Amazon Athena ユーザーガイド」の「クエリ結果、出力ファイル、クエリ履歴の使用」を参照してください。
-
API の詳細については、AWS CLI コマンドリファレンスの「ListQueryExecutions
」を参照してください。
-
次の例では、list-table-metadata
を使用する方法を説明しています。
- AWS CLI
-
データカタログの指定されたデータベース内のテーブルのメタデータを一覧表示する方法
次の
list-table-metadata
の例では、AwsDataCatalog
データカタログのgeography
データベース内の最大 2 つのテーブルのメタデータ情報を返します。aws athena list-table-metadata \ --catalog-name
AwsDataCatalog
\ --database-namegeography
\ --max-items2
出力:
{ "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==" }
詳細については、「Amazon Athena ユーザーガイド」の「データベース内のすべてのテーブルのメタデータを表示: list-table-metadata」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「ListTableMetadata
」を参照してください。
-
次の例では、list-tags-for-resource
を使用する方法を説明しています。
- AWS CLI
-
例 1: ワークグループのタグを一覧表示する方法
次の
list-tags-for-resource
の例では、Data_Analyst_Group
ワークグループのタグを一覧表示します。aws athena list-tags-for-resource \ --resource-arn
arn:aws:athena:us-west-2:111122223333:workgroup/Data_Analyst_Group
出力:
{ "Tags": [ { "Key": "Division", "Value": "West" }, { "Key": "Team", "Value": "Big Data" }, { "Key": "Location", "Value": "Seattle" } ] }
例 2: データカタログのタグを一覧表示する方法
次の
list-tags-for-resource
の例では、dynamo_db_catalog
データカタログのタグを一覧表示します。aws athena list-tags-for-resource \ --resource-arn
arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog
出力:
{ "Tags": [ { "Key": "Division", "Value": "Mountain" }, { "Key": "Organization", "Value": "Retail" }, { "Key": "Product_Line", "Value": "Shoes" }, { "Key": "Location", "Value": "Denver" } ] }
詳細については、「Amazon Athena ユーザーガイド」の「リソースのタグを一覧表示: list-tags-for-resource」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「ListTagsForResource
」を参照してください。
-
次の例では、list-work-groups
を使用する方法を説明しています。
- AWS CLI
-
ワークグループを一覧表示
次の
list-work-groups
の例では、現在のアカウントのワークグループを一覧表示します。aws athena list-work-groups
出力:
{ "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 } ] }
詳細については、「Amazon Athena ユーザーガイド」の「ワークグループの管理」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「ListWorkGroups
」を参照してください。
-
次の例では、start-query-execution
を使用する方法を説明しています。
- AWS CLI
-
例 1: 指定されたデータベースとデータカタログ内の指定されたテーブルでワークグループでクエリを実行する方法
次の
start-query-execution
の例では、AthenaAdmin
ワークグループを使用して、AwsDataCatalog
データカタログのcflogsdatabase
のcloudfront_logs
テーブルでクエリを実行します。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=AwsDataCatalog
出力:
{ "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }
詳細については、Amazon Athena ユーザーガイドの「Amazon Athena を使用した SQL クエリの実行」を参照してください。
例 2: 指定されたワークグループを使用して、指定されたデータカタログにデータベースを作成するクエリを実行する方法
次の
start-query-execution
の例では、AthenaAdmin
ワークグループを使用して、デフォルトのデータカタログAwsDataCatalog
にデータベースnewdb
を作成します。aws athena start-query-execution \ --query-string
"create database if not exists newdb"
\ --work-group"AthenaAdmin"
出力:
{ "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11112" }
詳細については、Amazon Athena ユーザーガイドの「Amazon Athena を使用した SQL クエリの実行」を参照してください。
例 3: 指定されたデータベースとデータカタログのテーブルにビューを作成するクエリを実行する方法
次の
start-query-execution
の例では、cflogsdatabase
のcloudfront_logs
テーブルにSELECT
ステートメントを使用してビューcf10
を作成します。aws athena start-query-execution \ --query-string
"CREATE OR REPLACE VIEW cf10 AS SELECT * FROM cloudfront_logs limit 10"
\ --query-execution-contextDatabase=cflogsdatabase
出力:
{ "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11113" }
詳細については、Amazon Athena ユーザーガイドの「Amazon Athena を使用した SQL クエリの実行」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「StartQueryExecution
」を参照してください。
-
次の例では、stop-query-execution
を使用する方法を説明しています。
- AWS CLI
-
実行中のクエリを停止する方法
次の
stop-query-execution
の例では、指定されたクエリ ID を持つクエリを停止します。aws athena stop-query-execution \ --query-execution-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
このコマンドでは何も出力されません。
詳細については、Amazon Athena ユーザーガイドの「Amazon Athena を使用した SQL クエリの実行」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「StopQueryExecution
」を参照してください。
-
次の例では、tag-resource
を使用する方法を説明しています。
- AWS CLI
-
リソースにタグを追加
次の
tag-resource
の例では、dynamo_db_catalog
データカタログにタグを追加します。aws athena tag-resource \ --resource-arn
arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog
\ --tagsKey=Organization,Value=Retail
Key=Division,Value=Mountain
Key=Product_Line,Value=Shoes
Key=Location,Value=Denver
このコマンドでは何も出力されません。結果を表示するには、
aws athena list-tags-for-resource --resource-arn arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog
を使用します。詳細については、「Amazon Athena ユーザーガイド」の「リソースにタグを追加: tag-resource」を参照してください。
-
API の詳細については、AWS CLI コマンドリファレンスの「TagResource
」を参照してください。
-
次の例では、untag-resource
を使用する方法を説明しています。
- AWS CLI
-
リソースからタグを削除する方法
次の
untag-resource
の例では、dynamo_db_catalog
データカタログリソースからSpecialization
およびFocus
キーと、関連する値を削除します。aws athena untag-resource \ --resource-arn
arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog
\ --tag-keysSpecialization
Focus
このコマンドでは何も出力されません。
list-tags-for-resource
コマンドを使用して結果を表示します。詳細については、「Amazon Athena ユーザーガイド」の「リソースからタグを削除: untag-resource」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「UntagResource
」を参照してください。
-
次の例では、update-data-catalog
を使用する方法を説明しています。
- AWS CLI
-
データカタログを更新する方法
次の
update-data-catalog
の例では、Lambda 関数とcw_logs_catalog
データカタログの説明を更新します。aws athena update-data-catalog \ --name
cw_logs_catalog
\ --typeLAMBDA
\ --description"New CloudWatch Logs Catalog"
\ --function=arn:aws:lambda:us-west-2:111122223333:function:new_cw_logs_lambdaこのコマンドでは何も出力されません。結果を表示するには、
aws athena get-data-catalog --name cw_logs_catalog
を使用します。詳細については、「Amazon Athena ユーザーガイド」の「カタログを更新: update-data-catalog」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateDataCatalog
」を参照してください。
-
次の例では、update-work-group
を使用する方法を説明しています。
- AWS CLI
-
ワークグループを更新する方法
次の
update-work-group
例では、Data_Analyst_Group
ワークグループを無効にします。ユーザーは無効なワークグループでクエリを実行または作成できませんが、メトリクス、データ使用量制限コントロール、ワークグループ設定、クエリ履歴、保存されたクエリを表示することはできます。aws athena update-work-group \ --work-group
Data_Analyst_Group
\ --stateDISABLED
このコマンドでは何も出力されません。状態の変化を確認するには、
aws athena get-work-group --work-group Data_Analyst_Group
を使用して出力のState
プロパティを確認します。詳細については、「Amazon Athena ユーザーガイド」の「ワークグループの管理」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateWorkGroup
」を参照してください。
-