La fonctionnalité DataprocFileOutputCommitter est une fonctionnalité
la version Open Source FileOutputCommitter
. Il permet les écritures simultanées par les tâches Apache Spark vers un emplacement de sortie.
Limites
La fonctionnalité DataprocFileOutputCommitter
est compatible avec les tâches Spark exécutées sur des clusters Dataproc Compute Engine créés avec les versions d'image suivantes :
Versions d'image 2.1 2.1.10 et ultérieures
Versions d'image 2.0 2.0.62 et ultérieures
Utiliser DataprocFileOutputCommitter
Pour utiliser cette fonction :
Créez un cluster Dataproc sur Compute Engine à l'aide des versions d'images
2.1.10
ou2.0.62
ou ultérieures.Définir
spark.hadoop.mapreduce.outputcommitter.factory.class=org.apache.hadoop.mapreduce.lib.output.DataprocFileOutputCommitterFactory
etspark.hadoop.mapreduce.fileoutputcommitter.marksuccessfuljobs=false
en tant que propriété de job lorsque vous envoyez un job Spark ; au cluster.- Exemple de 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")