

# 테이블 위치와 파티션 수준 지정
<a name="crawler-table-level"></a>

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

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

![\[수준 2로 지정된 테이블 수준의 크롤러 그룹화\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/crawler-table-level1.jpg)


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

------
#### [ AWS Management Console ]

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)에서 AWS Glue 콘솔을 엽니다.

1. **데이터 카탈로그**에서 **크롤러**를 선택합니다.

1. 크롤러를 구성할 때 **출력 및 예약 설정**의 **고급 옵션**에서 **테이블 수준**을 선택합니다.

![\[크롤러 구성에서 테이블 수준 지정\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/crawler-configuration-console.png)


------
#### [ AWS CLI ]

AWS CLI를 사용하여 크롤러를 구성하는 경우 예제 코드에 표시된 대로 `configuration` 파라미터를 설정합니다.

```
aws glue update-crawler \
  --name myCrawler \
  --configuration '{"Version": 1.0, "Grouping": { "TableLevelConfiguration": 2 }}'
```

------
#### [ API ]

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

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

------
#### [ CloudFormation ]

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

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

------