Amazon Athena

Looker는 표준 SQL을 사용하여 Amazon S3에서 데이터를 쉽게 분석할 수 있는 대화형 쿼리 서비스인 Amazon Athena에 대한 연결을 지원합니다. Amazon Athena는 서버리스이므로 관리할 인프라가 없습니다. 실행된 쿼리에 대해서만 비용이 청구됩니다.

네트워크 트래픽 암호화

Looker 애플리케이션과 데이터베이스 사이에 네트워크 트래픽을 암호화하는 것이 가장 좋습니다. 안전한 데이터베이스 액세스 사용 설정 문서 페이지에 설명된 옵션 중 하나를 고려해 보세요.

Amazon Athena 연결 구성

이 페이지에서는 Looker를 Amazon Athena 인스턴스에 연결하는 방법을 설명합니다.

  1. 다음 항목이 준비되었는지 확인하세요.

    • Amazon AWS 액세스 키 쌍
    • Amazon Athena를 사용하여 Looker에서 쿼리하려는 데이터가 포함된 S3 버킷. Amazon AWS 액세스 키에는 이 버킷에 대한 읽기/쓰기 액세스 권한이 있어야 합니다.

      Amazon Athena에는 역할 또는 권한 세트와 방화벽 규칙을 통해 이 S3 버킷에 액세스할 수 있어야 합니다. Looker IP의 S3 버킷에 보안 규칙을 추가하면 Amazon Athena의 S3 버킷 액세스가 의도치 않게 차단될 수 있습니다. Amazon Athena 이외의 다른 언어의 경우 보안 데이터베이스 액세스 사용 설정 문서 페이지에 설명된 대로 IP 허용 목록을 사용하여 네트워크 계층의 데이터에 대한 액세스를 제한해야 할 수 있습니다.

    • Amazon Athena 인스턴스 데이터가 위치한 곳에 대한 지식. 리전 이름은 Amazon 콘솔의 온른쪽 상단에 있습니다.

  2. Looker의 관리 섹션에서 연결을 선택한 후 연결 추가를 클릭합니다.

  3. 연결 세부정보를 작성합니다.

    • 이름: 연결 이름을 지정합니다. LookML 프로젝트에서 연결을 참조하는 방법은 다음과 같습니다.
    • 언어: Amazon Athena를 선택합니다.
    • 호스트포트: JDBC URL 형식에 대한 Athena 문서에 설명된 대로 호스트 및 포트의 이름을 지정합니다. 호스트는 유효한 Amazon 엔드포인트(예: athena.eu-west-1.amazonaws.com)여야 하며 포트는 443에 있어야 합니다. Athena를 지원하는 최신 엔드포인트의 목록은 AWS 일반 참조 페이지에서 확인할 수 있습니다.
    • 데이터베이스: 모델링할 기본 데이터베이스를 지정합니다. 다른 데이터베이스에 액세스할 수 있지만 Looker가 이 데이터베이스를 기본 데이터베이스로 취급합니다.
    • 사용자 이름: AWS 액세스 키 ID를 지정합니다.
    • 비밀번호: AWS 보안 비밀 액세스 키를 지정합니다.
    • PDT 사용 설정: 이 전환을 사용하여 영구 파생 테이블(PDT)을 사용 설정합니다. PDT를 사용 설정하면 추가 PDT 필드와 연결의 PDT 재정의 섹션이 표시됩니다.
    • 임시 데이터베이스: Looker가 PDT를 작성할 S3 버킷의 출력 디렉터리 이름을 지정합니다. 출력 디렉터리의 전체 경로는 추가 JDBC 매개변수 필드에 지정되어야 합니다. 이 페이지의 쿼리 결과 출력 및 PDT에 대해 S3 버킷 지정 섹션을 참조하세요.
    • 최대 PDT 빌더 연결 수: 이 연결에서 가능한 동시 PDT 빌드 수를 지정합니다. 이 값을 너무 높게 설정하면 쿼리 시간에 부정적인 영향을 줄 수 있습니다. 자세한 내용은 데이터베이스에 Looker 연결 문서 페이지를 참조하세요.
    • 추가 JDBC 매개변수: 연결에 추가 매개변수를 지정합니다.
      • s3_staging_dir 매개변수는 Looker가 쿼리 결과 출력 및 PDT에 사용해야 하는 S3 버킷입니다. 이 페이지의 쿼리 결과 출력 및 PDT에 대해 S3 버킷 지정 섹션을 참조하세요.
      • 스트리밍 결과에 대한 플래그입니다. Athena 사용자에게 athena:GetQueryResultsStream 정책이 연결되어 있으면 추가 JDBC 매개변수 끝에 ;UseResultsetStreaming=1을 추가하여 대규모 결과 조합 추출 성능을 크게 향상시킬 수 있습니다. 이 매개변수는 기본적으로 0으로 설정됩니다.
      • JDBC 연결 문자열에 추가할 선택적 매개변수입니다.
    • SSL: 무시 기본적으로 AWS API에 대한 모든 연결이 암호화됩니다.
    • 노드당 최대 연결 수: 기본적으로 5개로 설정됩니다. Looker가 Athena에 대해 실행되는 기본 쿼리 엔진인 경우 최대 20까지 늘릴 수 있습니다. 서비스 한도에 대한 자세한 내용은 Athena 서비스 한도 문서를 참조하세요. 자세한 내용은 데이터베이스에 Looker 연결 문서 페이지를 참조하세요.
    • 연결 풀 제한 시간: 연결 풀 제한 시간을 지정합니다. 기본적으로 제한 시간은 120초로 설정됩니다. 자세한 내용은 데이터베이스에 Looker 연결 문서 페이지를 참조하세요.
    • SQL Runner 사전 캐시: 테이블이 선택된 경우에만 SQL Runner가 테이블 정보를 로드하도록 하려면 이 옵션을 선택 해제합니다. 자세한 내용은 데이터베이스에 Looker 연결 문서 페이지를 참조하세요.
    • 데이터베이스 시간대: 데이터베이스에 사용되는 시간대를 지정합니다. 시간대 변환을 원하지 않으면 이 필드를 비워 둡니다. 자세한 내용은 시간대 설정 사용 문서 페이지를 참조하세요.

제대로 연결되었는지 확인하려면 테스트를 클릭합니다. 문제 해결 정보는 데이터베이스 연결 테스트 문서 페이지를 참조하세요.

이러한 설정을 저장하려면 연결을 클릭합니다.

쿼리 결과 출력 및 PDT에 대해 S3 버킷 지정

연결 페이지의 추가 JDBC 매개변수 필드를 사용하여 Looker에서 쿼리 결과 출력을 저장하는 데 사용할 S3 버킷의 경로를 구성하고, Looker에서 PDT를 작성할 S3 버킷의 출력 디렉터리 이름을 지정합니다. s3_staging_dir 매개변수를 사용하여 이 정보를 지정합니다.

s3_staging_dir JDBC 매개변수는 Athena JDBC 연결에 필요한 Amazon Athena S3OutputLocation 속성을 구성하는 다른 방법입니다. 자세한 내용 및 사용 가능한 모든 JDBC 드라이버 옵션 목록은 JDBC 드라이버 옵션에 대한 Athena 문서를 참조하세요.

추가 JDBC 매개변수 필드에 다음 형식을 사용하여 s3_staging_dir 매개변수를 지정합니다.

`s3_staging_dir=s3://<s3-bucket>/<output-path>`

각 항목의 의미는 다음과 같습니다.

  • <s3-bucket>은 S3 버킷의 이름입니다.
  • <output-path>는 Looker가 쿼리 결과 출력을 쓸 경로입니다.

AWS 액세스 키 쌍에 <s3-bucket> 디렉터리에 대한 쓰기 권한이 있어야 합니다.

Looker가 PDT를 작성할 디렉터리를 구성하려면 임시 데이터베이스 필드에 위 S3 버킷에 있는 디렉터리 경로를 입력합니다. 예를 들어 Looker가 PDT를 s3://<s3-bucket>/looker_scratch에 쓰도록 하려면 임시 데이터베이스 필드에 다음을 입력합니다.

`looker_scratch`

디렉터리 경로만 입력합니다. Looker는 추가 JDBC 매개변수 필드에 입력한 s3_staging_dir 매개변수에서 S3 버킷 이름을 가져옵니다.

S3 버킷 고려사항

지정된 S3 버킷에서 불필요한 파일을 주기적으로 삭제하도록 Amazon S3 객체 수명 주기를 구성하는 것이 좋습니다. 그 이유는 다음과 같습니다.

  • Athena에서는 S3 버킷에 모든 쿼리의 쿼리 결과를 저장합니다. Athena 쿼리를 참조하세요.
  • PDT가 사용 설정된 경우 PDT가 빌드되면 생성된 테이블에 대한 메타데이터가 S3 버킷에 저장됩니다.

리소스

디버깅

Amazon은 연결 디버깅을 위해 LogLevelLogPath JDBC 드라이버 옵션을 제공합니다. 이를 사용하려면 추가 JDBC 매개변수 필드의 끝에 ;LogLevel=DEBUG;LogPath=/tmp/athena_debug.log을 추가하고 연결을 다시 테스트합니다.

Looker가 인스턴스를 호스팅하는 경우 디버깅을 계속하려면 Looker 지원팀 또는 분석가가 이 파일을 검색해야 합니다.

기능 지원

Looker가 특정 기능을 지원하려면 데이터베이스 언어도 해당 기능을 지원해야 합니다.

Amazon Athena는 Looker 24.8부터 다음 기능을 지원합니다.

특성 지원 여부
지원 수준
지원됨
Looker(Google Cloud 핵심 서비스)
대칭 집계
파생 테이블
영구 SQL 파생 테이블
영구 기본 파생 테이블
안정적인 뷰
쿼리 종료
SQL 기반 피벗
시간대
SSL
소계
아니요
JDBC 추가 매개변수
대소문자 구분
위치 유형
목록 유형
백분위수
고유 백분위수
아니요
SQL Runner 표시 프로세스
아니요
SQL Runner 설명 테이블
SQL Runner 표시 색인
아니요
SQL Runner 선택 10
SQL Runner 카운트
SQL 설명
아니요
OAuth 사용자 인증 정보
아니요
컨텍스트 주석
연결 풀링
아니요
HLL 스케치
집계 인식
증분 PDT
아니요
밀리초
마이크로초
아니요
구체화된 뷰
아니요
대략적인 고유값

다음 단계

데이터베이스 연결을 완료한 후 인증 옵션 구성하기