테이블 위치와 파티션 수준을 지정하는 방법 - AWS Glue

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

테이블 위치와 파티션 수준을 지정하는 방법

기본적으로 크롤러가 Amazon S3에 저장된 데이터에 대한 테이블을 정의할 때 크롤러는 스키마를 병합하고 최상위 테이블(year=2019)을 생성하려고 시도합니다. 경우에 따라 크롤러가 폴더 month=Jan에 대한 테이블을 생성할 것으로 예상할 수 있지만 대신 형제 폴더(month=Mar)가 동일한 테이블에 병합되었기 때문에 크롤러가 파티션을 생성합니다.

테이블 수준 크롤러 옵션을 사용하면 크롤러에 테이블의 위치와 파티션 생성 방법을 유연하게 알릴 수 있습니다. [테이블 수준(Table level)]을 지정하면 Amazon S3 버킷에서 해당 절대 수준으로 테이블이 생성됩니다.

수준 2로 지정된 테이블 수준의 크롤러 그룹화

콘솔에서 크롤러를 구성할 때 [테이블 수준(Table level)] 크롤러 옵션에 대한 값을 지정할 수 있습니다. 값은 테이블 위치(데이터 집합의 절대 수준)를 나타내는 양의 정수여야 합니다. 최상위 폴더의 수준은 1입니다. 예를 들어 경로 mydataset/year/month/day/hour의 경우 수준을 3으로 설정하면 mydataset/year/month 위치에 테이블이 생성됩니다.

Console
크롤러 구성에서 테이블 수준 지정
API

API를 사용하여 크롤러를 구성하는 경우 다음 JSON 객체의 문자열 표현으로 Configuration 필드를 설정합니다. 예를 들면 다음과 같습니다.

configuration = jsonencode( { "Version": 1.0, "Grouping": { TableLevelConfiguration = 2 } })
CloudFormation

이 예제에서는 콘솔에서 사용 가능한 테이블 레벨(Table level) 옵션을 CloudFormation 템플릿 내에서 설정합니다.

"Configuration": "{ \"Version\":1.0, \"Grouping\":{\"TableLevelConfiguration\":2} }"