기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
MSCK최적화
Hive는 해당 메타스토어에 각 테이블의 파티션 목록을 저장합니다. 그러나 파티션이 파일 시스템에 직접 추가되거나 파일 시스템에서 제거되는 경우 Hive 메타스토어는 이러한 변경 사항을 인식하지 못합니다. 이 MSCK명령은
MSCK [REPAIR] TABLE table_name [ADD/DROP/SYNC PARTITIONS];
Hive는 이 명령을 다음과 같이 구현합니다.
-
Hive는 메타스토어에서 테이블의 모든 파티션을 검색합니다. 파일 시스템에 없는 파티션 경로 목록에서 메타스토어로부터 삭제할 파티션 목록을 생성합니다.
-
Hive는 파일 시스템에 있는 파티션 경로를 수집하여 메타스토어의 파티션 목록과 비교하고 메타스토어에 추가해야 하는 파티션 목록을 생성합니다.
-
Hive는
ADD
,DROP
또는SYNC
모드를 사용하여 메타스토어를 업데이트합니다.
참고
메타스토어에 파티션이 많은 경우 각 파티션에 대해 파일 시스템 exists
API 호출을 해야 하기 때문에 파일 시스템에 파티션이 없는지 확인하는 단계를 실행하는 데 시간이 오래 걸립니다.
Amazon EMR 6.5.0에서 Hive는 라는 플래그를 도입했습니다. hive.emr.optimize.msck.fs.check
이 플래그가 활성화되면 Hive는 파일 시스템을 호출하는 대신 위 2단계에서 생성된 파일 시스템의 파티션 경로 목록에서 파티션이 있는지 확인합니다. API Amazon EMR 6.8.0에서 Hive는 기본적으로 이 최적화를 활성화하여 플래그를 설정할 필요가 없습니다. hive.emr.optimize.msck.fs.check