Die Funktion DataprocFileOutputCommitter ist eine verbesserte Funktion
Version der Open-Source-Version FileOutputCommitter
. Sie ermöglicht gleichzeitiges Schreiben durch Apache Spark-Jobs an einen Ausgabespeicherort.
Beschränkungen
Die Funktion DataprocFileOutputCommitter
unterstützt Spark-Jobs, die auf Dataproc Compute Engine-Clustern ausgeführt werden, die mit den folgenden Image-Versionen erstellt wurden:
2.1-Image-Versionen 2.1.10 und höher
2.0, Image-Versionen 2.0.62 und höher
DataprocFileOutputCommitter
verwenden
So verwenden Sie dieses Feature:
Dataproc in Compute Engine-Cluster erstellen Sie verwenden die Image-Version
2.1.10
oder2.0.62
oder höher.spark.hadoop.mapreduce.outputcommitter.factory.class=org.apache.hadoop.mapreduce.lib.output.DataprocFileOutputCommitterFactory
undspark.hadoop.mapreduce.fileoutputcommitter.marksuccessfuljobs=false
festlegen als Jobattribut, wenn Sie einen Spark-Job senden an den Cluster senden.- Beispiel für die 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 ...
- Codebeispiel:
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")