DataprocFileOutputCommitter로 Spark 작업 실행

DataprocFileOutputCommitter 기능은 오픈소스 FileOutputCommitter의 고급 버전입니다. 출력 위치에 대한 Apache Spark 작업의 동시 쓰기를 사용 설정합니다.

제한사항

DataprocFileOutputCommitter 기능은 다음 이미지 버전으로 생성된 Dataproc Compute Engine 클러스터에서 실행되는 Spark 작업을 지원합니다.

  • 2.1 이미지 버전 2.1.10 이상

  • 2.0 이미지 버전 2.0.62 이상

DataprocFileOutputCommitter 사용

이 기능을 사용하려면 다음 안내를 따르세요.

  1. 2.1.10 또는 2.0.62 이상의 이미지 버전을 사용하여 Compute Engine 클러스터에 Dataproc를 만듭니다.

  2. 클러스터에 Spark 작업을 제출할 때 spark.hadoop.mapreduce.outputcommitter.factory.class=org.apache.hadoop.mapreduce.lib.output.DataprocFileOutputCommitterFactoryspark.hadoop.mapreduce.fileoutputcommitter.marksuccessfuljobs=false를 작업 속성으로 설정합니다.

    • Google Cloud CLI 예시:
    gcloud dataproc jobs submit spark \
        --properties=spark.hadoop.mapreduce.outputcommitter.factory.class=org.apache.hadoop.mapreduce.lib.output.DataprocFileOutputCommitterFactory,spark.hadoop.mapreduce.fileoutputcommitter.marksuccessfuljobs=false \
        --region=REGION \
        other args ...
    
    • 코드 예시:
    sc.hadoopConfiguration.set("spark.hadoop.mapreduce.outputcommitter.factory.class","org.apache.hadoop.mapreduce.lib.output.DataprocFileOutputCommitterFactory")
    sc.hadoopConfiguration.set("spark.hadoop.mapreduce.fileoutputcommitter.marksuccessfuljobs","false")