DataprocFileOutputCommitter 機能は、オープンソース FileOutputCommitter の拡張バージョンです。これにより、Apache Spark ジョブによる出力場所への同時書き込みが可能になります。
制限事項
DataprocFileOutputCommitter 機能は、次のイメージ バージョンで作成された Managed Service for Apache Spark Compute Engine クラスタで実行される Spark ジョブをサポートします。
2.1 イメージ バージョン 2.1.10 以降
2.0 イメージ バージョン 2.0.62 以降
DataprocFileOutputCommitter を使用する
この機能を使用するには:
イメージ バージョン
2.1.10または2.0.62以降を使用して Managed Service for Apache Spark on Compute Engine クラスタを作成します。クラスタに Spark ジョブを送信するときに、
spark.hadoop.mapreduce.outputcommitter.factory.class=org.apache.hadoop.mapreduce.lib.output.DataprocFileOutputCommitterFactoryとspark.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")