Spark 写入镶木地板作业已完成但延迟很长时间才能开始新作业
Spark write parquet job completed but have a long delay to start new job
我是 运行 AWS EMR 上的 Spark 2.4.4,在将 parquet 文件写入 S3 后遇到了很长的延迟。我检查了 S3 写入过程应该在几秒钟内完成(在 S3 中找到数据文件和_success 文件)。但它仍然延迟了大约 5 分钟才能开始以下工作。
我看到有人说这个叫"Parquet Tax"。我已经尝试了这些文章中建议的修复方法,但仍然无法解决问题。谁能帮帮我?非常感谢。
这是重命名提交者必须通过复制和删除文件来伪造重命名的开销。
切换到更高性能的提交者,例如 ASF Spark 的 "zero rename committer" 或 EMR 克隆,"fast spark committer"
您可以从 spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version 2.
开始
您可以使用以下任一方法设置此配置:
- 启动集群时,可以将 spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version 2 放入 Spark 配置中。
- spark.conf.set("mapreduce.fileoutputcommitter.algorithm.version",
"2")
- 使用DatasetAPI写入数据时,可以在option中设置,即dataset.write.option("mapreduce.fileoutputcommitter.algorithm.version",
"2").
我是 运行 AWS EMR 上的 Spark 2.4.4,在将 parquet 文件写入 S3 后遇到了很长的延迟。我检查了 S3 写入过程应该在几秒钟内完成(在 S3 中找到数据文件和_success 文件)。但它仍然延迟了大约 5 分钟才能开始以下工作。
我看到有人说这个叫"Parquet Tax"。我已经尝试了这些文章中建议的修复方法,但仍然无法解决问题。谁能帮帮我?非常感谢。
这是重命名提交者必须通过复制和删除文件来伪造重命名的开销。
切换到更高性能的提交者,例如 ASF Spark 的 "zero rename committer" 或 EMR 克隆,"fast spark committer"
您可以从 spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version 2.
开始您可以使用以下任一方法设置此配置:
- 启动集群时,可以将 spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version 2 放入 Spark 配置中。
- spark.conf.set("mapreduce.fileoutputcommitter.algorithm.version", "2")
- 使用DatasetAPI写入数据时,可以在option中设置,即dataset.write.option("mapreduce.fileoutputcommitter.algorithm.version", "2").