![]() |
傻傻的地瓜 · asp.net 页面生命周期事件详细 - ...· 5 月前 · |
![]() |
神勇威武的日记本 · impala: ...· 1 年前 · |
![]() |
坏坏的大海 · 关于使用VScode进行C/C++项目里多文 ...· 1 年前 · |
![]() |
深情的绿豆 · html 元素重叠-掘金· 1 年前 · |
![]() |
才高八斗的碗 · 最新Android ...· 1 年前 · |
我在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“顺序合并到输出路径?或者它是由执行者任务完成的?
我能做些什么来提高性能吗?
你可能想在你的应用程序配置中检查
spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version
选项。在版本1中,驱动程序会提交临时文件。文件的顺序,这已被认为是一个瓶颈。但是franky,人们通常只在比你的案例中更多的文件上观察到这个问题。根据Spark的版本,您可以将提交版本设置为2,有关详细信息,请参阅
SPARK-20107
。
另外,不建议每个executor拥有8个内核,因为当所有8个任务同时写入输出时,这可能会使磁盘IO饱和。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
扫码关注腾讯云开发者
领取腾讯云代金券
![]() |
深情的绿豆 · html 元素重叠-掘金 1 年前 |