La funzionalità DataprocFileOutputCommitter è una versione avanzata
di FileOutputCommitter open source. Consente le scritture simultanee dei job Apache Spark in una località di output.
Limitazioni
La funzionalità DataprocFileOutputCommitter supporta i job Spark eseguiti sui
cluster Dataproc Compute Engine creati con
le seguenti versioni delle immagini:
Versioni delle immagini 2.1.10 e successive
Versioni delle immagini 2.0.62 e successive
Utilizzare DataprocFileOutputCommitter
Per usare questa funzionalità:
Crea un cluster Dataproc su Compute Engine utilizzando le versioni delle immagini
2.1.10o2.0.62o successive.Imposta
spark.hadoop.mapreduce.outputcommitter.factory.class=org.apache.hadoop.mapreduce.lib.output.DataprocFileOutputCommitterFactoryespark.hadoop.mapreduce.fileoutputcommitter.marksuccessfuljobs=falsecome 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 ...
- Codice di esempio:
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")