La fonctionnalité DataprocFileOutputCommitter est une version améliorée
de la fonctionnalité Open Source FileOutputCommitter. Elle
permet aux jobs Apache Spark d'écrire simultanément dans un emplacement de sortie.
Limites
La fonctionnalité DataprocFileOutputCommitter est compatible avec les jobs Spark exécutés sur
des clusters Dataproc Compute Engine créés avec
les versions d'image suivantes :
Versions d'image 2.1.10 et ultérieures
Versions d'image 2.0.62 et ultérieures
Utiliser DataprocFileOutputCommitter
Pour utiliser cette fonctionnalité :
Créez un cluster Dataproc sur Compute Engine à l'aide des versions d'image
2.1.10ou2.0.62ou ultérieures.Définissez
spark.hadoop.mapreduce.outputcommitter.factory.class=org.apache.hadoop.mapreduce.lib.output.DataprocFileOutputCommitterFactoryetspark.hadoop.mapreduce.fileoutputcommitter.marksuccessfuljobs=falsecomme propriété de job lorsque vous envoyez un job Spark au cluster.- Exemple avec 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 ...
- Exemple de code :
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")