Amazon Athena
사용 설명서

시작하기

이 자습서에서는 Amazon Athena을(를) 이용한 데이터 쿼리를 안내합니다. Amazon Simple Storage Service에 저장된 샘플 데이터를 기반으로 테이블을 만들고 테이블을 쿼리한 다음 쿼리 결과를 확인합니다.

이 자습서는 라이브 리소스를 사용하므로 실행하는 쿼리에 대한 요금이 부과됩니다. 사용하는 샘플 데이터 세트에 대해서는 요금이 부과되지 않지만 고유한 데이터 파일을 Amazon S3에 업로드한다면 요금이 부과됩니다.

사전 요구사항

아직 계정에 가입하지 않았다면 설정에서 가입하십시오.

1단계: 데이터베이스 생성

먼저 Athena에서 데이터베이스를 생성해야 합니다.

데이터베이스를 생성하려면

  1. Athena 콘솔을 엽니다.

  2. Athena 콘솔을 처음 방문하면 시작하기 페이지로 이동합니다. [Get Started]를 선택해 쿼리 편집기를 엽니다. 처음 방문하는 경우가 아니라면 Athena 쿼리 편집기가 열립니다.

  3. Athena 쿼리 편집기에서 예제 쿼리가 있는 쿼리 창을 볼 수 있습니다. 쿼리 창의 아무 곳에나 쿼리를 입력하기 시작합니다.

  4. mydatabase라는 데이터베이스를 생성하려면 다음 CREATE DATABASE 문을 입력한 다음, [Run Query]를 선택합니다.

    CREATE DATABASE mydatabase
  5. 카탈로그 디스플레이가 새로 고쳐지고 왼쪽 [Catalog] 대시보드의 [DATABASE] 목록에 mydatabase가 표시되는지 확인합니다.

2단계: 테이블 생성

이제 데이터베이스가 있으므로 샘플 데이터 파일을 기반으로 테이블을 생성할 준비가 되었습니다. 데이터에 매핑되는 열을 정의하고, 데이터가 분리되는 방식을 지정하고, 파일에 대해 Amazon S3 내에서의 위치를 제공합니다.

테이블을 만들려면

  1. [DATABASE]에 mydatabase가 선택되었는지 확인한 후 [New Query]를 선택합니다.

  2. 쿼리 창에 다음 CREATE TABLE 문을 입력한 후 [Run Query]를 선택합니다.

    참고

    Athena를 실행하는 리전이 아닌 다른 리전에서 데이터를 쿼리할 수 있습니다. 표준 Athena 요금 외에 Amazon S3의 표준 리전 간 데이터 전송 요금이 적용됩니다. 데이터 전송 요금을 낮추려면 s3://athena-examples-myregion/path/to/data/myregion을 Athena를 실행하는 리전 식별자(예: s3://athena-examples-us-east-1/path/to/data/)로 바꿉니다.

    CREATE EXTERNAL TABLE IF NOT EXISTS cloudfront_logs ( `Date` DATE, Time STRING, Location STRING, Bytes INT, RequestIP STRING, Method STRING, Host STRING, Uri STRING, Status INT, Referrer STRING, os STRING, Browser STRING, BrowserVersion STRING ) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe' WITH SERDEPROPERTIES ( "input.regex" = "^(?!#)([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+[^\(]+[\(]([^\;]+).*\%20([^\/]+)[\/](.*)$" ) LOCATION 's3://athena-examples-myregion/cloudfront/plaintext/';

    table cloudfront_logs가 생성되고 데이터베이스의 [Catalog] 대시보드에 표시됩니다.

3단계: 데이터 쿼리

이제 Amazon S3의 데이터를 기반으로 Athena에서 생성된 cloudfront_logs 테이블이 있으므로 테이블에서 쿼리를 실행하고 Athena에서 결과를 볼 수 있습니다.

쿼리를 실행하려면

  1. [New Query]를 선택하고 쿼리 창의 아무 곳에나 다음 문을 입력한 다음 [Run Query]를 선택합니다.

    SELECT os, COUNT(*) count FROM cloudfront_logs WHERE date BETWEEN date '2014-07-05' AND date '2014-08-05' GROUP BY os;

    다음과 같은 형식의 결과가 반환됩니다.

  2. 선택적으로 [Results] 창에서 파일 아이콘을 선택하여 쿼리 결과를 CSV로 저장할 수 있습니다.

완료하는 데 시간이 다소 걸릴 수 있는 이전 쿼리의 결과도 볼 수 있습니다. [History]를 선택한 후 쿼리를 검색하거나, [View] 또는 [Download]를 선택하여 이전에 완료한 쿼리의 결과를 보거나 다운로드합니다. 그러면 현재 실행 중인 쿼리의 상태도 표시됩니다. 쿼리 기록은 45일 동안 보존됩니다. 자세한 정보는 쿼리 기록 보기를 참조하십시오.

쿼리 결과는Amazon S3에서 aws-athena-query-results-ACCOUNTID-REGION이라는 버킷에도 저장됩니다. 오른쪽 위 창에서 [Settings]를 선택하면 콘솔 및 암호화 옵션에서 기본 위치를 변경할 수 있습니다. 자세한 정보는 쿼리 결과를 참조하십시오.