데이터 레이크 쿼리 - Amazon Redshift

데이터 레이크 쿼리

이 자습서의 태스크 세트에 따라 Amazon S3 데이터 레이크의 데이터를 쿼리할 수 있습니다. 먼저, AWS Glue Data Catalog에서 외부 데이터베이스를 참조하는 외부 스키마를 생성합니다. 그런 다음 Amazon S3 데이터 레이크의 데이터를 쿼리할 수 있습니다.

데모: 데이터 레이크 쿼리

데이터 레이크를 쿼리하는 방법을 알아보려면 다음 동영상을 시청하세요.

사전 조건

쿼리 에디터 v2에서 데이터 레이크를 사용하기 전에 Amazon Redshift 환경에서 다음을 설정했는지 확인하세요.

  • AWS Glue를 사용하여 Amazon S3 데이터를 크롤링하고 AWS Lake Formation에 대해 Data Catalog를 활성화하세요.

  • AWS Glue가 활성화된 AWS Lake Formation용 Data Catalog로 Amazon Redshift에 대한 IAM 역할을 생성합니다. 이 절차에 대한 자세한 내용은 AWS Lake Formation에 대해 활성화된 AWS Glue Data Catalog를 사용하여 Amazon Redshift용 IAM 역할 만들기를 참조하세요. Redshift Spectrum 및 Lake Formation 사용에 대한 자세한 내용은 AWS Lake Formation과 함께 Redshift Spectrum 사용을 참조하세요.

  • Lake Formation 데이터베이스에서 쿼리할 테이블에 SELECT 권한을 부여합니다. 이 절차에 대한 자세한 내용은 Lake Formation 데이터베이스에서 쿼리할 테이블에 SELECT 권한 부여를 참조하세요.

    Lake Formation 콘솔(https://console.aws.amazon.com/lakeformation/)의 권한 섹션, 데이터 레이크 권한 페이지에서 IAM 역할, AWS Glue 데이터베이스 및 테이블에 적절한 권한이 있는지 확인할 수 있습니다.

  • 연결된 사용자에게 Amazon Redshift 데이터베이스에서 스키마를 생성하고 데이터 레이크의 데이터에 액세스할 수 있는 권한이 있는지 확인하세요. 쿼리 에디터 v2에서 데이터베이스에 연결할 때는 보안 인증 정보가 포함된 인증 방법을 선택합니다. 보안 인증 정보는 데이터베이스 사용자 또는 IAM 사용자일 수 있습니다. 연결된 사용자에게는 적절한 권한 및 데이터베이스 권한(예:superuser)이 있어야 합니다. 클러스터 또는 작업 그룹을 생성한 Amazon Redshift admin 사용자에게는 superuser 권한이 있으며 스키마를 생성하고 Redshift 데이터베이스를 관리할 수 있습니다. 쿼리 에디터 v2에서 데이터베이스에 연결하는 방법에 대한 자세한 내용은 Amazon Redshift 데이터베이스에 연결 섹션을 참조하세요.

외부 스키마 생성

Amazon S3 데이터 레이크의 데이터를 쿼리하려면 먼저 외부 스키마를 생성합니다. 외부 스키마는 AWS Glue Data Catalog에서 외부 데이터베이스를 참조합니다.

  1. 쿼리 에디터 v2의 편집기 보기에서 Create생성을 선택한 다음 스키마를 선택합니다.

  2. 스키마 이름(Schema name)을 입력합니다.

  3. 스키마 유형으로 외부를 선택합니다.

  4. Data Catalog 세부 정보에서 리전은 기본적으로 Redshift 데이터베이스가 있는 AWS 리전입니다.

  5. 외부 스키마가 매핑되고 AWS Glue 테이블에 대한 참조가 포함된 AWS Glue 데이터베이스를 선택합니다.

  6. Amazon S3에서 데이터를 쿼리하는 데 필요한 권한이 있는 Amazon Redshift용 IAM 역할을 선택합니다.

  7. Data Catalog에 대한 권한이 있는 IAM 역할을 선택할 수도 있습니다(선택 사항).

  8. 스키마 생성을 선택합니다.

    스키마가 트리 보기 패널의 데이터베이스 아래에 나타납니다.

스키마를 만들 때 데이터베이스에 대한 권한 거부 오류가 표시되면 연결된 사용자에게 스키마를 만들 수 있는 데이터베이스 권한이 있는지 확인하세요.

Amazon S3 데이터 레이크에서 데이터 쿼리

이전 절차에서 생성한 스키마를 사용합니다.

  1. 트리 보기 패널에서 스키마를 선택합니다.

  2. 테이블 정의를 보려면 테이블을 선택합니다. 테이블 열 및 데이터 유형이 표시됩니다.

  3. 테이블을 쿼리하려면 테이블을 선택하고 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)에서 테이블 선택을 선택합니다.

  4. 편집기에서 쿼리를 실행합니다.

    다음 예제 SQL은 쿼리 에디터 v2에서 flightscsv라는 이름이 지정된 AWS Glue 테이블의 모든 행을 쿼리하기 위해 생성되었습니다. 출력에 표시된 열과 행은 간소화를 위해 잘려 있습니다.

    SELECT * FROM "dev"."mydatalake_schema"."flightscsv"; year quarter month dom day_of_week fl_date unique_carrier airline_id carrier tail_num fl_num 2016 4 10 19 3 10/19/16 OO 20304 OO N753SK 3086 2016 4 10 19 3 10/19/16 OO 20304 OO N753SK 3086 2016 4 10 19 3 10/19/16 OO 20304 OO N778SK 3087 2016 4 10 19 3 10/19/16 OO 20304 OO N778SK 3087 ...