AWS Glue 크롤러가 테이블에 새 파티션을 추가하지 않습니다.
간략한 설명
AWS Glue는 Amazon Simple Storage Service(Amazon S3) 경로에 있는 파티션의 이름, 시퀀스 또는 개수의 차이를 파티션 스키마 또는 구조의 변경으로 간주합니다. 크롤러는 새 파티션에서 소스 데이터 파일을 스캔하여 소스 파일의 다음 속성을 기존 테이블의 속성과 비교합니다.
- 파일 형식
- 압축 유형
- 스키마
- Amazon S3 파티션의 구조
이러한 파티션 속성이 테이블 속성과 다를 경우 AWS Glue는 파티션을 건너뛰고 메타데이터를 업데이트하지 않습니다.
해결 방법
문제 해결
크롤러 로그를 확인하여 문제를 파악하려면 다음 단계를 완료하십시오.
- AWS Glue 콘솔을 엽니다.
- 탐색 창에서 크롤러를 선택합니다.
- 크롤러를 선택한 다음, 로그를 선택하여 Amazon CloudWatch 콘솔에서 로그를 확인합니다.
- 로그를 검토하여 크롤러가 새 파티션을 건너뛰었는지 확인합니다.
예를 들어 로그에 다음과 유사한 항목이 포함되어 있다고 가정해 보겠습니다.
Folder partition keys do not match table partition keys, skipped folder: doc-example-bucket/doc-example-path/doc-example-table/year=2021/month=01/sday=05/
이 항목은 Amazon S3 위치의 파티션 구조가 테이블에 대해 정의된 파티션 키와 일치하지 않음을 나타냅니다. 이 차이는 파티션 구조가 테이블 소스 위치에서 일관되지 않을 때 발생할 수 있습니다.
AWS Glue 크롤러가 여러 테이블을 생성하는 경우 로그 항목은 다음과 유사합니다.
INFO : Created table doc-example-table in database doxtest_db
유사한 로그가 보이면 이러한 테이블 위치의 스키마 및 파티션 구조를 원래 테이블과 비교하십시오.
문제 해결
파티션 구조 업데이트
일치하지 않는 파티션 구조로 인해 문제가 발생한 경우, 수동으로 또는 프로그래밍 방식으로 구조의 이름을 일관되게 변경하십시오.
특정 파일 제외
AWS Glue는 다음 이유 중 하나로 파티션을 건너뛸 수 있습니다.
- 일치하지 않는 파일 형식
- 압축 형식
- 스키마 문제
AWS Glue가 이러한 이유 중 하나로 파티션을 건너뛰고 테이블에 데이터가 필요하지 않은 경우, 다음 작업 중 하나를 완료하십시오.
- 제외 패턴을 사용하여 불필요한 파일을 건너뜁니다. 자세한 내용은 데이터 소스 및 분류기 선택을 참조하십시오.
- 불필요한 파일을 다른 위치로 이동합니다.
호환되는 스키마 결합
여러 입력 파일에 있는 데이터가 비슷한 스키마를 가진 경우 크롤러를 생성할 때 호환되는 스키마를 결합하십시오. Configure the crawler's output(크롤러의 출력 구성) 페이지에 있는 **Grouping behavior for S3 data (optional)(S3 데이터의 그룹화 동작(선택 사항))**에서 **Create a single schema for each S3 path(각 S3 경로에 대해 단일 스키마 생성)**을 선택합니다. 이 설정을 켜고 데이터가 호환되면 크롤러는 지정된 경로에 있는 S3 객체에 대한 특정 스키마의 유사성을 무시합니다. 자세한 내용은 각 Amazon S3 포함 경로에 대한 단일 스키마 생성을 참조하십시오.
다중 테이블 방지
크롤러가 여러 테이블을 생성하는 경우 AWS Glue 크롤러 실행 중에 여러 테이블이 생성되지 않도록 하려면 어떻게 해야 합니까?를 참조하십시오.