AWS Glue 크롤러가 테이블에 새 파티션을 추가하지 않는 이유는 무엇입니까?

최종 업데이트 날짜: 2021년 8월 16일

AWS Glue 크롤러가 테이블에 새 파티션을 추가하지 않습니다.

간략한 설명

크롤러가 새 파티션 아래의 소스 데이터 파일을 검색할 때 크롤러는 소스 파일의 다음 속성을 기존 테이블의 속성과 비교합니다.

  • 파일 형식
  • 압축 유형
  • 스키마
  • Amazon Simple Storage Service(Amazon S3) 파티션의 구조

파티션의 이러한 속성이 테이블의 속성과 다른 경우 파티션을 건너뛰고 메타데이터에 추가하지 않습니다. Amazon S3 경로의 파티션 이름, 시퀀스 또는 수의 차이는 파티션 스키마 또는 구조의 변경으로 간주됩니다.

해결 방법

문제 해결

크롤러 로그를 확인하여 문제를 식별합니다.

  1. AWS Glue 콘솔을 엽니다.
  2. 탐색 창에서 크롤러를 선택합니다.
  3. 크롤러를 선택한 다음 로그 링크를 선택하여 CloudWatch 콘솔에서 로그를 봅니다.
  4. 로그를 검토하여 크롤러가 새 파티션을 건너뛰었는지 확인합니다.

예를 들어 로그에 다음과 유사한 항목이 포함되어 있다고 가정합니다.

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

유사한 로그가 표시되면 이러한 테이블 위치의 스키마 및 파티션 구조를 원래 테이블의 스키마 및 파티션 구조와 비교합니다.

문제 해결

CloudWatch Logs의 정보를 기반으로 다음 솔루션 옵션 중 하나 이상을 고려하세요.

  • 파티션 구조 불일치로 인해 문제가 발생하는 경우 S3 경로의 이름을 수동 또는 프로그래밍 방식으로 변경하여 구조를 일관되게 만듭니다.
  • 파일 형식, 압축 형식 또는 스키마의 불일치로 인해 파티션을 건너뛰고 데이터를 의도한 테이블에 포함할 필요가 없는 경우 다음을 고려하세요.
    • 제외 패턴을 사용하여 원치 않는 파일을 건너뜁니다.
    • 원치 않는 파일을 다른 위치로 이동합니다.
  • 어느 입력 파일에는 데이터의 스키마가 서로 다르고, 다른 입력 파일에는 데이터의 스키마가 유사하다면 크롤러를 생성할 때 호환되는 스키마를 결합합니다. 크롤러의 출력 구성 페이지의 S3 데이터의 그룹화 동작(선택 사항)에서 각 S3 경로에 대해 단일 스키마 생성을 선택합니다. 이 설정이 켜지고 데이터가 호환되면 크롤러가 지정된 포함 경로에서 S3 객체를 평가할 때 특정 스키마의 유사성을 무시합니다. 자세한 내용은 각 Amazon S3 포함 경로에 대해 단일 스키마를 생성하는 방법을 참조하세요.
  • 크롤러가 여러 테이블을 생성하는 경우 AWS Glue 크롤러가 여러 테이블을 생성하지 못하도록 하려면 어떻게 해야 합니까?를 참조하세요.

이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?