DataprocFileOutputCommitter 功能是开源 FileOutputCommitter
的增强版。它
启用 Apache Spark 作业到输出位置的并发写入。
限制
DataprocFileOutputCommitter
功能支持运行 Spark 作业
使用以下方式创建的 Dataproc Compute Engine 集群:
以下映像版本:
2.1 映像版本 2.1.10 及更高版本
2.0 映像版本 2.0.62 及更高版本
使用 DataprocFileOutputCommitter
如需使用此功能,请执行以下操作:
使用映像版本
2.1.10
、2.0.62
或更高版本创建 Dataproc on Compute Engine 集群。向集群提交 Spark 作业时,将
spark.hadoop.mapreduce.outputcommitter.factory.class=org.apache.hadoop.mapreduce.lib.output.DataprocFileOutputCommitterFactory
和spark.hadoop.mapreduce.fileoutputcommitter.marksuccessfuljobs=false
设置为作业属性。- 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 ...
- 代码示例:
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")