증분 AWS Glue 크롤링을 실행한 후 누락된 파티션 문제를 해결하고 싶습니다.
간략한 설명
AWS Glue 크롤러는 증분 크롤링을 실행할 때 크롤러가 이전 크롤링 이후에 추가한 파티션만 식별합니다. 파티션을 추가하려면 파티션에 있는 파일의 70% 이상에 크롤러 테이블과 동일한 스키마가 있어야 합니다.
중요: AWS Glue 크롤러는 이전에 스키마 불일치로 플래그가 지정된 파티션을 추가할 수 없습니다. 크롤러가 실행되기 전에 새 파티션의 모든 속성이 원본 테이블 속성과 일치하는지 확인하는 것이 가장 좋습니다.
해결 방법
크롤러의 마지막 크롤링에 해당하는 Amazon CloudWatch 로그를 연 다음, 새 파티션의 Amazon Simple Storage Service(Amazon S3) 접두사를 검색합니다. 새 파티션의 스키마와 원본 테이블의 스키마가 일치하지 않는 경우 ‘Partition does not match table schema or has mismatch keys(파티션이 테이블 스키마와 일치하지 않거나 키가 일치하지 않음)’ 메시지가 나타납니다.
위 오류 메시지가 나타나면 새 파티션과 원본 테이블의 다음 속성이 일치하는지 확인하십시오.
새 파티션의 S3 구조가 원본 테이블의 S3 구조와 일치하는지 확인하십시오. 예를 들어 원본 테이블의 S3 구조가 yyyy-mm-dd 날짜 형식을 사용하는 경우 새 파티션의 S3 구조도 yyyy-mm-dd 날짜 형식을 사용해야 합니다. 속성이 일치하지 않으면 새 파티션의 파일을 원본 테이블과 일치하도록 수정하십시오.
그런 다음, Athena를 사용하여 테이블에 새 파티션을 추가합니다. Hive 스타일 파티션의 경우 MSCK REPAIR TABLE 명령을 실행합니다. Hive 스타일이 아닌 파티션의 경우 ALTER TABLE ADD PARTITION 명령을 실행합니다.