시작하기 - Amazon Athena

시작하기

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

이 자습서는 라이브 리소스를 사용하므로 실행하는 쿼리에 대한 요금이 부과됩니다. 이 자습서에서 사용하는 위치의 샘플 데이터에 대해서는 요금이 청구되지 않지만, Amazon S3에 자체 데이터 파일을 업로드하면 요금이 발생합니다.

사전 조건

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

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

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

  1. Athena 콘솔을 엽니다.

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

  3. Amazon S3에서 쿼리 결과 위치를 설정하려면 링크를 선택합니다

    
                        쿼리 결과 위치 설정을 선택합니다.
  4. 설정 대화 상자에서, 쿼리 결과에 대해 Amazon S3에서 생성한 버킷의 경로를 입력합니다. 경로 앞에 s3://를 붙이고 경로 끝에 슬래시를 추가합니다.

    
                        Athena의 쿼리 결과를 수신하려면 Amazon S3의 위치를 지정합니다.
  5. Save를 클릭합니다.

  6. Athena 쿼리 편집기에 쿼리 창이 표시됩니다. 여기에 쿼리와 명령문을 입력할 수 있습니다.

    
                        Athena 콘솔의 쿼리 창.
  7. mydatabase라는 데이터베이스를 생성하려면 다음 CREATE DATABASE 문을 입력합니다.

    CREATE DATABASE mydatabase
  8. Run Query(쿼리 실행)를 선택하거나 Ctrl+ENTER를 누릅니다.

  9. 카탈로그 디스플레이가 새로 고쳐지고 왼쪽 탐색 창의 Database(데이터베이스) 목록에 mydatabase가 표시되는지 확인합니다.

    
                        생성된 데이터베이스가 Athena 콘솔 탐색 창에 나타남.

2단계: 테이블 생성

이제 데이터베이스가 생겼으므로 문을 실행하여 테이블을 만들 수 있습니다. 테이블은 s3://athena-examples-aws-region/cloudfront/plaintext/ 위치의 Athena 샘플 데이터를 기반으로 합니다. 테이블을 작성하는 문으로 데이터에 매핑되는 열을 정의하고, 데이터의 구분 방식을 지정하고, 샘플 데이터가 포함된 Amazon S3 위치를 지정합니다.

테이블을 만들려면

  1. Database(데이터베이스)에서 mydatabase를 선택합니다.

  2. Query Editor(쿼리 편집기)에서 더하기(+) 기호를 선택하여 새 쿼리가 포함된 탭을 생성합니다. 한 번에 최대 10개의 쿼리 탭을 열 수 있습니다.

    
                        더하기 아이콘을 선택하여 새 쿼리 생성.
  3. 쿼리 창에 다음 CREATE TABLE 문을 입력합니다. 쿼리 끝에 있는 LOCATION 문에서 myregion을 현재 사용 중인 AWS 리전(예: us-west-1)으로 바꿉니다.

    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/';
    참고

    s3://athena-examples-myregion/path/to/data/myregion을 Athena를 실행하는 리전 식별자(예: s3://athena-examples-us-west-1/path/to/data/)로 바꿉니다.

  4. [Run Query]를 선택합니다.

    cloudfront_logs 테이블이 생성되어 mydatabase 데이터베이스의 Tables(테이블) 아래에 표시됩니다.

    
                        Athena 콘솔에서 생성된 테이블.

3단계: 데이터 쿼리

이제 Amazon S3의 데이터를 기반으로 Athena에서 생성된 cloudfront_logs 테이블이 있으므로 테이블에서 SQL 쿼리를 실행하고 Athena에서 결과를 볼 수 있습니다. Athena에서의 SQL 사용에 대한 자세한 내용은 Amazon Athena용 SQL 참조 단원을 참조하십시오.

쿼리를 실행하려면

  1. 새 쿼리 탭을 열고 쿼리 창에 다음 SQL 문을 입력합니다.

    SELECT os, COUNT(*) count FROM cloudfront_logs WHERE date BETWEEN date '2014-07-05' AND date '2014-08-05' GROUP BY os;
  2. [Run Query]를 선택합니다.

    결과는 다음과 같이 나타납니다.

    
                        Athena 콘솔에서 쿼리 결과 보기.
  3. Results(결과) 창에서 다운로드 아이콘을 선택하여 쿼리 결과를 .csv 파일로 저장할 수 있습니다.

    
                        CSV 형식으로 쿼리 결과 다운로드.
  4. 이전 쿼리를 보려면 History(기록) 탭을 선택합니다.

    
                        History(기록)를 선택하여 이전 쿼리 보기.
  5. 이전 쿼리 결과를 다운로드하려면 Download results(결과 다운로드)를 선택합니다. 쿼리 기록은 45일 동안 보존됩니다.

    
                        Athena 콘솔에서 쿼리 기록 보기.

    자세한 내용은 쿼리 결과, 출력 파일 및 쿼리 기록 작업 단원을 참조하십시오.

다른 데이터 원본에 연결

이 자습서에서는 CSV 형식의 Amazon S3의 데이터 원본을 사용했습니다. AWS Glue, ODBC 및 JDBC 드라이버, 외부 Hive 메타스토어, Athena 데이터 원본 커넥터를 사용하여 다양한 데이터 원본에 Athena를 연결할 수 있습니다. 자세한 내용은 데이터 원본에 연결 단원을 참조하십시오.