

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

# Hive EMRFS S3 최적화 커미터 활성화
<a name="hive-optimized-committer"></a>

Hive EMRFS S3 최적화 커미터는 EMRFS를 사용할 때 EMR Hive가 삽입 쿼리용 파일을 작성하는 데 사용하는 대체 방법입니다. 커미터는 Amazon S3에서 수행된 나열 및 이름 바꾸기 작업을 없애고 애플리케이션 성능을 개선합니다. 이 기능은 EMR 5.34 및 EMR 6.5부터 사용할 수 있습니다.

## 커미터 활성화
<a name="enabling-hive-committer"></a>

EMR Hive가 `HiveEMRFSOptimizedCommitter`를 사용하여 모든 Hive 관리형 테이블 및 외부 테이블의 기본값으로 데이터를 커밋할 수 있도록 하려면 EMR 6.5.0 또는 EMR 5.34.0 클러스터에서 다음 `hive-site` 구성을 사용합니다.

```
[
   {
      "classification": "hive-site",
      "properties": {
         "hive.blobstore.use.output-committer": "true"
      }
   }
]
```

**참고**  
`hive.exec.parallel`이 `true`로 설정된 경우 이 기능을 켜지 않습니다.

## 제한 사항
<a name="hive-committer-limitations"></a>

 태그에 적용되는 기본 제한 사항은 다음과 같습니다.
+ Hive에서 작은 파일의 자동 병합 기능은 지원되지 않습니다. 최적화된 커미터가 활성화된 경우에도 기본 Hive 커밋 로직이 사용됩니다.
+ Hive ACID 테이블은 지원되지 않습니다. 최적화된 커미터가 활성화된 경우에도 기본 Hive 커밋 로직이 사용됩니다.
+ Hive에서 작성된 파일의 파일 이름 지정 방식이 `<task_id>_<attempt_id>_<copy_n>`에서 `<task_id>_<attempt_id>_<copy_n>_<query_id>`로 변경되었습니다. 예를 들어 

  `s3://warehouse/table/partition=1/000000_0` 파일은 `s3://warehouse/table/partition=1/000000_0-hadoop_20210714130459_ba7c23ec-5695-4947-9d98-8a40ef759222-1`로 변경됩니다. 여기서 `query_id`는 사용자 이름, 타임스탬프 및 UUID의 조합입니다.
+ 사용자 지정 파티션이 다른 파일 시스템(HDFS, S3)에 있는 경우 이 기능은 자동으로 비활성화됩니다. 활성화되면 기본 Hive 커밋 로직이 사용됩니다.