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 Managed Service pour Apache Spark 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 Managed Service pour Apache Spark 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 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")