Die Funktion DataprocFileOutputCommitter ist eine erweiterte
Version des Open-Source-Tools FileOutputCommitter. Sie
ermöglicht gleichzeitige Schreibvorgänge von Apache Spark-Jobs an einen Ausgabespeicherort.
Beschränkungen
Die Funktion DataprocFileOutputCommitter unterstützt Spark-Jobs, die in
Dataproc Compute Engine-Clustern ausgeführt werden, die mit
den folgenden Image-Versionen erstellt wurden:
Image-Versionen 2.1.10 und höher
Image-Versionen 2.0.62 und höher
DataprocFileOutputCommitter verwenden
Wenn Sie diese Funktion verwenden möchten, gehen Sie so vor:
Erstellen Sie einen Dataproc in Compute Engine-Cluster mit den Image-Versionen
2.1.10oder2.0.62oder höher.Legen Sie
spark.hadoop.mapreduce.outputcommitter.factory.class=org.apache.hadoop.mapreduce.lib.output.DataprocFileOutputCommitterFactoryundspark.hadoop.mapreduce.fileoutputcommitter.marksuccessfuljobs=falseals Jobattribut fest, wenn Sie einen Spark-Job an den Cluster senden.- Google Cloud CLI-Beispiel:
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:
festlegen.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")