EMRFSS3에 최적화된 커밋 프로토콜 및 멀티파트 업로드 - 아마존 EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

EMRFSS3에 최적화된 커밋 프로토콜 및 멀티파트 업로드

EMRFSS3에 최적화된 커밋 프로토콜에서 동적 파티션 덮어쓰기 최적화를 사용하려면 Amazon에서 멀티파트 업로드를 활성화해야 합니다. EMR 멀티파트 업로드는 기본적으로 사용하도록 설정되어 있습니다. 필요한 경우 다시 활성화할 수 있습니다. 자세한 내용은 Amazon EMR관리 안내서의 Amazon S3에 대한 멀티파트 업로드 구성을 참조하십시오.

동적 파티션 덮어쓰기 중에 EMRFS S3에 최적화된 커밋 프로토콜은 멀티파트 업로드의 트랜잭션과 유사한 특성을 사용하여 작업 시도로 작성된 파일이 작업 커밋 시 작업의 출력 위치에만 표시되도록 합니다. 이러한 방식으로 멀티파트 업로드를 사용하면 커밋 프로토콜은 기본 SQLHadoopMapReduceCommitProtocol보다 작업 커밋 성능을 더 개선합니다. EMRFSS3에 최적화된 커밋 프로토콜을 사용할 때는 기존 멀티파트 업로드 동작과 고려해야 할 몇 가지 주요 차이점이 있습니다.

  • 멀티파트 업로드는 파일 크기에 관계없이 항상 수행됩니다. 이는 fs.s3n.multipart.uploads.split.size 속성이 멀티파트 업로드가 트리거되는 파일 크기를 제어하는 의 EMRFS 기본 동작과 다릅니다.

  • 멀티파트 업로드는 작업이 커밋되거나 중단될 때까지 더 오랜 기간 동안 불완전한 상태로 유지됩니다. 이는 작업이 지정된 파일 작성을 완료했을 때 멀티파트 업로드가 EMRFS 완료되는 기본 동작과 다릅니다.

이러한 차이로 인해 작업이 실행되고 Amazon S3에 데이터를 쓰는 동안 Spark Executor가 JVM 충돌하거나 종료되거나, 작업이 실행되는 동안 Spark Driver가 JVM 충돌하거나 종료되는 경우, 불완전한 멀티파트 업로드가 남게 될 가능성이 높습니다. 따라서 EMRFS S3에 최적화된 커밋 프로토콜을 사용할 때는 실패한 멀티파트 업로드를 관리하기 위한 모범 사례를 반드시 따르십시오. 자세한 내용은 Amazon EMR관리 안내서의 Amazon S3 버킷 사용에 대한 모범 사례를 참조하십시오.