首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对HDFS的Spark写入速度很慢

对HDFS的Spark写入速度很慢
EN

Stack Overflow用户
提问于 2020-05-28 17:02:12
回答 1查看 1.2K关注 0票数 0

我在HDFS (非分区)上有ORC数据,大约80亿行,大小为250 in。Iam读取DF中的数据,使用partitionBy ex: df.write.mode("overwrite").partitionBy("some_column").orc("hdfs partitionBy写入不带ay转换的DF“)

当我在spark UI中监控作业状态时,作业和阶段将在20分钟内完成。但spark UI中的"SQL“选项卡显示为40分钟。

在调试模式下运行作业并查看spark日志后,我意识到写入"_temporary“的任务将在20分钟内完成。

之后,将"_temporary“合并到实际输出路径需要20分钟。

所以我的问题是,驱动进程是否将数据从"_temporary“顺序合并到输出路径?或者它是由执行者任务完成的?

我能做些什么来提高性能吗?

EN

回答 1

Stack Overflow用户

发布于 2020-05-28 20:44:18

你可能想在你的应用程序配置中检查spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version选项。在版本1中,驱动程序会提交临时文件。文件的顺序,这已被认为是一个瓶颈。但是franky,人们通常只在比你的案例中更多的文件上观察到这个问题。根据Spark的版本,您可以将提交版本设置为2,有关详细信息,请参阅SPARK-20107

另外,不建议每个executor拥有8个内核,因为当所有8个任务同时写入输出时,这可能会使磁盘IO饱和。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62060859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档