Menjalankan tugas Spark dengan DataprocFileOutputCommitter

Fitur DataprocFileOutputCommitter adalah versi yang ditingkatkan dari FileOutputCommitter open source. Hal ini memungkinkan penulisan serentak oleh tugas Apache Spark ke lokasi output.

Batasan

Fitur DataprocFileOutputCommitter mendukung tugas Spark yang dijalankan di cluster Compute Engine Dataproc yang dibuat dengan versi image berikut:

  • Versi image 2.1.10 dan yang lebih tinggi

  • Versi gambar 2.0.62 dan yang lebih baru

Gunakan DataprocFileOutputCommitter

Untuk menggunakan fitur ini:

  1. Buat cluster Dataproc di Compute Engine menggunakan versi image 2.1.10 atau 2.0.62 atau yang lebih tinggi.

  2. Tetapkan spark.hadoop.mapreduce.outputcommitter.factory.class=org.apache.hadoop.mapreduce.lib.output.DataprocFileOutputCommitterFactory dan spark.hadoop.mapreduce.fileoutputcommitter.marksuccessfuljobs=false sebagai properti tugas saat Anda mengirimkan tugas Spark ke cluster.

    • Contoh 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 ...
    
    • Contoh kode:
    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")