Menjalankan tugas Spark dengan DataprocFileOutputCommitter

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

Batasan

Fitur DataprocFileOutputCommitter mendukung tugas Spark yang berjalan di cluster Managed Service untuk Apache Spark Compute Engine yang dibuat dengan versi image berikut:

  • Versi image 2.1 versi 2.1.10 dan yang lebih tinggi

  • Versi image 2.0 versi 2.0.62 dan yang lebih tinggi

Menggunakan DataprocFileOutputCommitter

Untuk menggunakan fitur ini:

  1. Buat cluster Managed Service untuk Apache Spark 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")