EMR파일 시스템 (EMRFS) - 아마존 EMR

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

EMR파일 시스템 (EMRFS)

EMR파일 시스템 (EMRFS) 은 Amazon에서 Amazon S3로 EMR 직접 일반 파일을 읽고 쓰는 데 모든 Amazon EMR 클러스터가 사용하는 HDFS 것을 구현한 것입니다. EMRFS는 Hadoop과 함께 사용할 영구 데이터를 Amazon S3에 저장하는 편리함을 제공하는 동시에 데이터 암호화와 같은 기능도 제공합니다.

데이터 암호화를 사용하면 Amazon S3에 EMRFS 쓰는 객체를 암호화하고 Amazon S3의 암호화된 객체를 사용할 EMRFS 수 있습니다. Amazon EMR 릴리스 버전 4.8.0 이상을 사용하는 경우 보안 구성을 사용하여 다른 암호화 설정과 함께 Amazon S3의 EMRFS 객체에 대한 암호화를 설정할 수 있습니다. 자세한 내용은 암호화 옵션을 참조하세요. 이전 릴리스 버전의 EMR Amazon을 사용하는 경우 암호화 설정을 수동으로 구성할 수 있습니다. 자세한 내용은 EMRFS속성을 사용하여 Amazon S3 암호화 지정 단원을 참조하십시오.

Amazon S3는 모든 사용자에게 강력한 읽기 후 쓰기 일관성을 제공하고 모든 GET LIST 작업에서 작업을 제공합니다. PUT AWS 리전즉, 사용하여 작성한 내용은 Amazon S3에서 읽는 EMRFS 내용이며 성능에는 영향을 미치지 않습니다. 자세한 내용은 Amazon S3 데이터 일관성 모델을 참조하십시오.

Amazon EMR 릴리스 버전 5.10.0 이상을 사용하는 경우 클러스터 사용자, 그룹 또는 Amazon S3의 EMRFS 데이터 위치에 따라 Amazon S3에 대한 EMRFS 요청에 다른 IAM 역할을 사용할 수 있습니다. 자세한 내용은 Amazon S3에 대한 EMRFS 요청에 대한 IAM 역할 구성을 참조하십시오.

주의

Apache Spark 작업을 실행하는 Amazon EMR 클러스터의 예측 실행을 활성화하기 전에 다음 정보를 검토하십시오.

EMRFS사용 시 Amazon EMRFS S3에 파일을 쓰도록 최적화된 OutputCommitter 구현인 S3에 최적화된 커미터가 포함되어 있습니다. EMRFS EMRFSS3에 최적화된 커미터를 사용하지 않고 Amazon S3에 데이터를 쓰는 애플리케이션에서 Apache Spark 예측 실행 기능을 켜면 -10063에 설명된 데이터 정확성 문제가 발생할 수 있습니다. SPARK 이는 Amazon EMR 릴리스 5.19 이전의 Amazon EMR 버전을 사용하거나, ORC 및 CSV 와 같은 형식으로 Amazon S3에 파일을 쓰는 경우 발생할 수 있습니다. EMRFSS3에 최적화된 커미터는 이러한 형식을 지원하지 않습니다. S3에 최적화된 커미터를 사용하기 위한 전체 요구 사항 목록은 EMRFS S3에 최적화된 커미터에 대한 요구 사항을 참조하십시오. EMRFS

EMRFS직접 쓰기는 일반적으로 EMRFS S3에 최적화된 커미터가 지원되지 않는 경우 (예: 다음을 작성할 때) 사용됩니다.

  • Parquet 이외의 출력 형식 (예: or text) ORC

  • Spark를 사용하는 하둡 파일. RDD API

  • Hive를 사용한 쪽모이 세공 마루. SerDe Hive metastore Parquet table conversion을 참조하세요.

EMRFS다음 시나리오에서는 직접 쓰기가 사용되지 않습니다.

  • EMRFSS3에 최적화된 커미터가 활성화된 경우 S3에 최적화된 커미터에 대한 요구 사항을 참조하십시오. EMRFS

  • 동적으로 partitionOverwriteMode 설정하여 동적 파티션을 작성하는 경우

  • 사용자 지정 파티션 위치에 쓸 때(예: Hive 기본 파티션 위치 규칙을 따르지 않는 위치).

  • 이외의 EMRFS 파일 시스템을 사용하는 경우 (예: S3A 파일 시스템에 쓰기 HDFS 또는 S3A 파일 시스템 사용).

애플리케이션이 Amazon EMR 5.14.0 이상에서 직접 쓰기를 사용하는지 여부를 확인하려면 Spark INFO 로깅을 활성화하십시오. “Direct Write:ENABLED”라는 텍스트가 포함된 로그 라인이 Spark 드라이버 로그 또는 Spark 실행기 컨테이너 로그에 있는 경우 Spark 애플리케이션이 직접 쓰기를 사용하여 기록한 것입니다.

기본적으로 EMRclusters Amazon에서는 예측 실행이 OFF 켜져 있습니다. 다음 두 가지 조건에 모두 해당하는 경우 추론적 실행을 켜지 않는 것이 좋습니다.

  • Amazon S3에 데이터를 씁니다.

  • 데이터는 Apache Parquet 이외의 형식 또는 S3에 최적화된 커미터를 사용하지 않는 Apache Parquet 형식으로 작성됩니다. EMRFS

Spark 예측 실행을 켜고 EMRFS 직접 쓰기를 사용하여 Amazon S3에 데이터를 쓰는 경우 간헐적인 데이터 손실이 발생할 수 있습니다. EMRFSS3에 HDFS 최적화된 커미터를 사용하여 Parquet에 데이터를 쓰거나 Parquet에 데이터를 쓸 때 EMR Amazon은 직접 쓰기를 사용하지 않으므로 이 문제가 발생하지 않습니다.

Spark에서 Amazon S3로 EMRFS 직접 쓰고 예측 실행을 사용하는 형식으로 데이터를 써야 하는 경우, S3distCP를 사용하여 Amazon S3에 HDFS 쓰고 출력 파일을 전송하는 것이 좋습니다.