DataprocFileOutputCommitter 機能は、オープンソース FileOutputCommitter
の拡張バージョンです。これにより、Apache Spark ジョブによる出力場所への同時書き込みが可能になります。
制限事項
DataprocFileOutputCommitter
機能は、次のイメージ バージョンで作成された Dataproc Compute Engine クラスタで実行される Spark ジョブをサポートしています。
2.1 イメージ バージョン 2.1.10 以降
2.0 イメージ バージョン 2.0.62 以降
DataprocFileOutputCommitter
を使用する
この機能を使用するには:
イメージ バージョン
2.1.10
または2.0.62
以降を使用して Compute Engine クラスタ上に Dataproc を作成します。クラスタに 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")