Spark InsertInto AWS S3 中的慢速重命名

问题描述 投票:0回答:1

在 AWS s3 中使用

insertInto
时,数据最初会写入
.spark-staging
文件夹,然后一次批量移动(假重命名)到实际位置,每次 10 个文件。将暂存数据 10 移动 10 的速度很慢。

有什么办法可以增加它的并行度吗?

apache-spark amazon-s3 sql-insert
1个回答
0
投票

这是 s3 Committer 的问题,请检查文档

https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-s3-optimized-commit-protocol.html

你应该尽量避免使用

.option("partitionOverwriteMode", "dynamic")

如果您的数据是例如按日期分区,您应该在输出路径中包含日期

所以改为

ds.write.option("partitionOverwriteMode", "dynamic").partitionBy(date).parquet("s3://baspath/")

ds.write.parquet(s"s3://baspath/date=$someDate/")
© www.soinside.com 2019 - 2024. All rights reserved.