La funzionalità DataprocFileOutputCommitter è una versione avanzata dell'open source FileOutputCommitter
. Abilita le scritture simultanee da parte di job Apache Spark in una posizione di output.
Limitazioni
La funzionalità DataprocFileOutputCommitter
supporta l'esecuzione di job Spark su cluster Dataproc Compute Engine creati con le seguenti versioni immagine:
2.1 versioni immagine 2.1.10 e successive
2.0 versioni immagine 2.0.62 e successive
Utilizza DataprocFileOutputCommitter
Per utilizzare questa funzione:
Crea un cluster Dataproc su Compute Engine utilizzando immagini con versione
2.1.10
o2.0.62
o successive.Imposta
spark.hadoop.mapreduce.outputcommitter.factory.class=org.apache.hadoop.mapreduce.lib.output.DataprocFileOutputCommitterFactory
espark.hadoop.mapreduce.fileoutputcommitter.marksuccessfuljobs=false
come proprietà del job quando invii un job Spark al cluster.- Esempio di 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 ...
- Esempio di codice:
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")