크롤러에 여러 데이터 원본 사용 - Amazon Athena

크롤러에 여러 데이터 원본 사용

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

table1table2의 스키마가 비슷하고 AWS Glue에서 하나의 데이터 원본이 s3://amzn-s3-demo-bucket/folder1/으로 설정된 경우, 크롤러는 두 개의 파티션 열(table1table2가 포함된 파티션 열과 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/에서 AWS Glue 콘솔을 엽니다.

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

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

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

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

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

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

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

  8. Next(다음)를 선택합니다.

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

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

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

  12. Next(다음)를 선택합니다.

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

  14. 업데이트를 선택합니다.