La función DataprocFileOutputCommitter es una función
versión del código abierto FileOutputCommitter
. Integra
habilita operaciones de escritura simultáneas de trabajos de Apache Spark en una ubicación de salida.
Limitaciones
La función DataprocFileOutputCommitter
es compatible con los trabajos de Spark que se ejecutan en
Clústeres de Compute Engine de Dataproc creados con
las siguientes versiones de imágenes:
Versiones de imagen 2.1.10 y posteriores
Versiones de imagen 2.0.62 y posteriores
Utilizar DataprocFileOutputCommitter
Para usar esta función, sigue estos pasos:
Crea un clúster de Dataproc en Compute Engine con las versiones de imagen
2.1.10
,2.0.62
o una posterior.Establece
spark.hadoop.mapreduce.outputcommitter.factory.class=org.apache.hadoop.mapreduce.lib.output.DataprocFileOutputCommitterFactory
yspark.hadoop.mapreduce.fileoutputcommitter.marksuccessfuljobs=false
como una propiedad de trabajo cuando envíes un trabajo de Spark al clúster.- Ejemplo 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 ...
- Ejemplo de código:
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")