를 사용한 Athena 예제 AWS CLI - AWS Command Line Interface

이 설명서는 의 버전 1 AWS CLI 전용입니다. 의 버전 2와 관련된 설명서는 버전 2 사용 설명서 를 AWS CLI참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

를 사용한 Athena 예제 AWS CLI

다음 코드 예제에서는 Athena와 AWS Command Line Interface 함께 를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 batch-get-named-query을 사용하는 방법을 보여 줍니다.

AWS CLI

둘 이상의 쿼리에 대한 정보를 반환하려면

다음 batch-get-named-query 예제에서는 지정된 가 있는 명명된 쿼리에 대한 정보를 반환합니다IDs.

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

출력:

{ "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 쿼리 실행을 참조하세요. Amazon Athena

  • 자세한 API 내용은 명령 참조BatchGetNamedQuery의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 batch-get-query-execution을 사용하는 방법을 보여 줍니다.

AWS CLI

하나 이상의 쿼리 실행에 대한 정보를 반환하려면

다음 batch-get-query-execution 예제에서는 지정된 쿼리 가 있는 쿼리에 대한 쿼리 실행 정보를 반환합니다IDs.

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://awsdoc-example-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://awsdoc-example-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 쿼리 실행을 참조하세요. Amazon Athena

다음 코드 예시에서는 create-data-catalog을 사용하는 방법을 보여 줍니다.

AWS CLI

데이터 카탈로그를 생성하려면

다음 create-data-catalog 예제에서는 dynamo_db_catalog 데이터 카탈로그를 생성합니다.

aws athena create-data-catalog \ --name dynamo_db_catalog \ --type LAMBDA \ --description "DynamoDB Catalog" \ --parameters function=arn:aws:lambda:us-west-2:111122223333:function:dynamo_db_lambda

이 명령은 출력을 생성하지 않습니다. 결과를 보려면 를 사용합니다aws athena get-data-catalog --name dynamo_db_catalog.

자세한 내용은 Amazon Athena 사용 설명서카탈로그 등록: create-data-catalog을 참조하세요.

  • 자세한 API 내용은 명령 참조CreateDataCatalog의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 create-named-query을 사용하는 방법을 보여 줍니다.

AWS CLI

명명된 쿼리를 생성하려면

다음 create-named-query 예제에서는 2016년 1월에 시애틀에서 뉴욕으로 향하는 항공편에 대해 flights_parquet 테이블을 쿼리하는 AthenaAdmin 작업 그룹에 저장된 쿼리를 생성합니다. 둘 다 출발 및 도착이 10분 이상 지연되었습니다. 테이블의 공항 코드 값은 큰따옴표가 포함된 문자열(예: “SEA”)이므로 백슬래시로 이스케이프되고 작은따옴표로 둘러싸여 있습니다.

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

출력:

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

자세한 내용은 Amazon Athena 사용 설명서의 Amazon Athena를 사용하여 SQL 쿼리 실행을 참조하세요. Amazon Athena

  • 자세한 API 내용은 명령 참조CreateNamedQuery의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 create-work-group을 사용하는 방법을 보여 줍니다.

AWS CLI

작업 그룹을 생성하려면

다음 create-work-group 예제에서는 쿼리 결과 출력 위치가 Data_Analyst_Group 인 라는 작업 그룹을 생성합니다s3://awsdoc-example-bucket. 명령은 쿼리 결과 출력 위치를 포함하는 클라이언트 구성 설정을 재정의하는 작업 그룹을 생성합니다. 또한 이 명령은 CloudWatch 지표를 활성화하고 세 개의 키-값 태그 페어를 작업 그룹에 추가하여 다른 작업 그룹과 구분합니다. --configuration 인수에는 옵션을 구분하는 쉼표 앞에 공백이 없습니다.

aws athena create-work-group \ --name Data_Analyst_Group \ --configuration ResultConfiguration={OutputLocation="s3://awsdoc-example-bucket"},EnforceWorkGroupConfiguration="true",PublishCloudWatchMetricsEnabled="true" \ --description "Workgroup for data analysts" \ --tags Key=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 내용은 명령 참조CreateWorkGroup의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 delete-data-catalog을 사용하는 방법을 보여 줍니다.

AWS CLI

데이터 카탈로그를 삭제하려면

다음 delete-data-catalog 예제에서는 UnusedDataCatalog 데이터 카탈로그를 삭제합니다.

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

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Athena 사용 설명서카탈로그 삭제: delete-data-catalog를 참조하세요.

  • 자세한 API 내용은 명령 참조DeleteDataCatalog의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 쿼리 실행을 참조하세요. Amazon Athena

  • 자세한 API 내용은 명령 참조DeleteNamedQuery의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조DeleteWorkGroup의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조GetDataCatalog의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-database을 사용하는 방법을 보여 줍니다.

AWS CLI

데이터 카탈로그의 데이터베이스에 대한 정보를 반환하려면

다음 get-database 예제에서는 AwsDataCatalog 데이터 카탈로그의 sampledb 데이터베이스에 대한 정보를 반환합니다.

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

출력:

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

자세한 내용은 Amazon Athena 사용 설명서데이터베이스 세부 정보: get-database 표시를 참조하세요.

  • 자세한 API 내용은 명령 참조GetDatabase의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 쿼리 실행을 참조하세요. Amazon Athena

  • 자세한 API 내용은 명령 참조GetNamedQuery의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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://awsdoc-example-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 쿼리 실행을 참조하세요. Amazon Athena

  • 자세한 API 내용은 명령 참조GetQueryExecution의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조GetQueryResults의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-table-metadata을 사용하는 방법을 보여 줍니다.

AWS CLI

테이블에 대한 메타데이터 정보를 반환하려면

다음 get-table-metadata 예제는 데이터 AwsDataCatalog 카탈로그의 sampledb 데이터베이스에서 열 이름 및 해당 데이터 유형을 포함하여 counties 테이블에 대한 메타데이터 정보를 반환합니다.

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

출력:

{ "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://awsdoc-example-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 내용은 명령 참조GetTableMetadata의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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://awsdoc-example-bucket/" }, "EnforceWorkGroupConfiguration": false, "PublishCloudWatchMetricsEnabled": true, "RequesterPaysEnabled": false }, "Description": "Workgroup for Athena administrators", "CreationTime": 1573677174.105 } }

자세한 내용은 Amazon Athena 사용 설명서작업 그룹 관리를 참조하세요.

  • 자세한 API 내용은 명령 참조GetWorkGroup의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조ListDataCatalogs의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조ListDatabases의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 쿼리 실행을 참조하세요. Amazon Athena

  • 자세한 API 내용은 명령 참조ListNamedQueries의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 list-query-executions을 사용하는 방법을 보여 줍니다.

AWS CLI

지정된 작업 그룹에서 쿼리IDs의 쿼리를 나열하려면

다음 list-query-executions 예제에서는 AthenaAdmin 작업 그룹의 쿼리를 최대 10개IDs까지 나열합니다.

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

출력:

{ "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 내용은 명령 참조ListQueryExecutions의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 list-table-metadata을 사용하는 방법을 보여 줍니다.

AWS CLI

데이터 카탈로그의 지정된 데이터베이스에 있는 테이블의 메타데이터를 나열하려면

다음 list-table-metadata 예제에서는 AwsDataCatalog 데이터 카탈로그의 geography 데이터베이스에 있는 최대 2개의 테이블에 대한 메타데이터 정보를 반환합니다.

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

출력:

{ "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://awsdoc-example-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://awsdoc-example-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 내용은 명령 참조ListTableMetadata의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조ListTagsForResource의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조ListWorkGroups의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 start-query-execution을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 지정된 데이터베이스 및 데이터 카탈로그의 지정된 테이블에 있는 작업 그룹에서 쿼리를 실행하려면

다음 start-query-execution 예제에서는 AthenaAdmin 작업 그룹을 사용하여 AwsDataCatalog 데이터 카탈로그의 에 있는 cloudfront_logs 테이블에서 쿼리cflogsdatabase를 실행합니다.

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

출력:

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

자세한 내용은 Amazon Athena 사용 설명서의 Amazon Athena를 사용하여 SQL 쿼리 실행을 참조하세요. Amazon Athena

예제 2: 지정된 작업 그룹을 사용하여 지정된 데이터 카탈로그에 데이터베이스를 생성하는 쿼리를 실행하려면

다음 start-query-execution 예제에서는 AthenaAdmin 작업 그룹을 사용하여 기본 데이터 카탈로그 newdb 에서 데이터베이스를 생성합니다AwsDataCatalog.

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 쿼리 실행을 참조하세요. Amazon Athena

예제 3: 지정된 데이터베이스 및 데이터 카탈로그의 테이블에 뷰를 생성하는 쿼리를 실행하려면

다음 start-query-execution 예제에서는 의 cloudfront_logs 테이블에 있는 SELECT 문을 사용하여 뷰를 cflogsdatabase 생성합니다cf10.

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

출력:

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

자세한 내용은 Amazon Athena 사용 설명서의 Amazon Athena를 사용하여 SQL 쿼리 실행을 참조하세요. Amazon Athena

  • 자세한 API 내용은 명령 참조StartQueryExecution의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 쿼리 실행을 참조하세요. Amazon Athena

  • 자세한 API 내용은 명령 참조StopQueryExecution의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 \ --tags Key=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 사용 설명서리소스에 태그 추가: 태그-리소스를 참조하세요.

  • 자세한 API 내용은 명령 참조TagResource의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 untag-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스에서 태그를 제거하려면

다음 untag-resource 예제에서는 dynamo_db_catalog 데이터 카탈로그 리소스에서 SpecializationFocus 키와 관련 값을 제거합니다.

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

이 명령은 출력을 생성하지 않습니다. 결과를 보려면 list-tags-for-resource 명령을 사용합니다.

자세한 내용은 Amazon Athena 사용 설명서리소스에서 태그 제거: untag-resource를 참조하세요.

  • 자세한 API 내용은 명령 참조UntagResource의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 update-data-catalog을 사용하는 방법을 보여 줍니다.

AWS CLI

데이터 카탈로그를 업데이트하려면

다음 update-data-catalog 예제에서는 Lambda 함수와 cw_logs_catalog 데이터 카탈로그에 대한 설명을 업데이트합니다.

aws athena update-data-catalog \ --name cw_logs_catalog \ --type LAMBDA \ --description "New CloudWatch Logs Catalog" \ --function=arn:aws:lambda:us-west-2:111122223333:function:new_cw_logs_lambda

이 명령은 출력을 생성하지 않습니다. 결과를 보려면 를 사용합니다aws athena get-data-catalog --name cw_logs_catalog.

자세한 내용은 Amazon Athena 사용 설명서카탈로그 업데이트: update-data-catalog를 참조하세요.

  • 자세한 API 내용은 명령 참조UpdateDataCatalog의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 update-work-group을 사용하는 방법을 보여 줍니다.

AWS CLI

작업 그룹을 업데이트하려면

다음 update-work-group 예제에서는 Data_Analyst_Group 작업 그룹을 비활성화합니다. 사용자는 비활성화된 작업 그룹에서 쿼리를 실행하거나 생성할 수 없지만 지표, 데이터 사용량 제한 제어, 작업 그룹 설정, 쿼리 기록 및 저장된 쿼리를 계속 볼 수 있습니다.

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

이 명령은 출력을 생성하지 않습니다. 상태 변화를 확인하려면 aws athena get-work-group --work-group Data_Analyst_Group 를 사용하고 출력의 State 속성을 확인합니다.

자세한 내용은 Amazon Athena 사용 설명서작업 그룹 관리를 참조하세요.

  • 자세한 API 내용은 명령 참조UpdateWorkGroup의 섹션을 참조하세요. AWS CLI