

# 크롤러에 여러 데이터 원본 사용
<a name="schema-crawlers-data-sources"></a>

AWS Glue 크롤러가 Amazon S3를 스캔하고 여러 디렉터리를 발견하면 휴리스틱을 사용하여 테이블의 루트가 디렉터리 구조에서 어디에 있는지, 어떤 디렉터리가 테이블의 파티션인지 파악합니다. 간혹 둘 이상의 디렉터리에서 발견된 스키마가 유사한 경우, 크롤러가 이를 별도의 테이블 대신 파티션으로 처리할 수 있습니다. 크롤러가 개별 테이블을 찾도록 돕는 한 가지 방법은, 각 테이블의 루트 디렉터리를 크롤러의 데이터 저장소로 추가하는 것입니다.

Amazon S3에 있는 다음 파티션이 한 예입니다.

```
s3://amzn-s3-demo-bucket/folder1/table1/partition1/file.txt
s3://amzn-s3-demo-bucket/folder1/table1/partition2/file.txt
s3://amzn-s3-demo-bucket/folder1/table1/partition3/file.txt
s3://amzn-s3-demo-bucket/folder1/table2/partition4/file.txt
s3://amzn-s3-demo-bucket/folder1/table2/partition5/file.txt
```

`table1`과 `table2`의 스키마가 비슷하고 AWS Glue에서 하나의 데이터 원본이 `s3://amzn-s3-demo-bucket/folder1/`으로 설정된 경우, 크롤러는 두 개의 파티션 열(`table1`과 `table2`가 포함된 파티션 열과 `partition1`부터 `partition5`까지 포함하는 두 번째 파티션 열)로 구성된 하나의 테이블을 만들 수 있습니다.

AWS Glue 크롤러가 의도대로 두 개의 개별 테이블을 생성하게 하려면 크롤러가 다음 절차처럼 두 개의 데이터 원본(`s3://amzn-s3-demo-bucket/folder1/table1/`, `s3://amzn-s3-demo-bucket/folder1/table2`)으로 구성되도록 설정합니다.

**AWS Glue에서 기존 크롤러에 S3 데이터 스토어를 추가하려면**

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

1. 탐색 창에서 **크롤러(Crawlers)**를 선택합니다.

1. 크롤러 링크를 선택한 다음 **편집(Edit)**을 선택합니다.

1. **2단계: 데이터 소스 및 분류자 선택(Step 2: Choose data sources and classifiers)**에서 **편집(Edit)**을 선택합니다.

1. **데이터 소스 및 카탈로그**에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가(Add a data source)** 대화 상자의 **S3 경로(S3 path)**에서 **찾아보기(Browse)**를 선택합니다.

1. 사용할 버킷을 선택한 다음 **선택(Choose)**을 선택합니다.

   추가한 데이터 소스가 **데이터 소스(Data sources)** 목록에 표시됩니다.

1. **다음**을 선택합니다.

1. **보안 설정 구성** 페이지에서 크롤러에 대한 IAM 역할을 생성 또는 선택한 다음 **다음(Next)**을 선택합니다.

1. S3 경로가 후행 슬래시로 끝나는지 확인한 다음 **S3 데이터 소스 추가(Add an S3 data source)**를 선택합니다.

1. **출력 및 예약 설정** 페이지의 **출력 구성(Output configuration)**에서 대상 데이터베이스를 선택합니다.

1. **다음**을 선택합니다.

1. **검토 및 업데이트** 페이지에서 선택한 항목을 검토합니다. 단계를 편집하려면 **편집(Edit)**을 선택합니다.

1.  **업데이트**를 선택합니다.