O recurso DataprocFileOutputCommitter é uma versão aprimorada
versão mais recente do FileOutputCommitter
de código aberto. Ele
permite gravações simultâneas por jobs do Apache Spark em um local de saída.
Limitações
O recurso DataprocFileOutputCommitter
oferece suporte a jobs do Spark executados em
clusters do Dataproc Compute Engine criados com
as seguintes versões de imagem:
Versões de imagem 2.1 2.1.10 e mais recentes
Versões de imagem 2.0 2.0.62 e mais recentes
Usar DataprocFileOutputCommitter
Para usar este recurso, siga estas etapas:
Criar um cluster do Dataproc no Compute Engine usando a versão de imagem
2.1.10
,2.0.62
ou mais recente.Defina
spark.hadoop.mapreduce.outputcommitter.factory.class=org.apache.hadoop.mapreduce.lib.output.DataprocFileOutputCommitterFactory
espark.hadoop.mapreduce.fileoutputcommitter.marksuccessfuljobs=false
como uma propriedade do job ao enviar um job do Spark ao cluster.- Exemplo da 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 ...
- Exemplo 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")