我正面临一个问题,Spark启动了近2,000个执行器,保存数据需要很长时间,而所有的转换都已经完成了。
在合理的时间范围内完成写入之前显示 Dataframe ,但写入文件需要很长时间。
Spark writedag
我试过改变执行器的数量,集群大小,重新分区,合并。看起来像是写很多小文件的问题。但是,df. coalce(1). write.也需要很长的时间。
有什么东西在达格寻找?
我正面临一个问题,Spark启动了近2,000个执行器,保存数据需要很长时间,而所有的转换都已经完成了。
在合理的时间范围内完成写入之前显示 Dataframe ,但写入文件需要很长时间。
Spark writedag
我试过改变执行器的数量,集群大小,重新分区,合并。看起来像是写很多小文件的问题。但是,df. coalce(1). write.也需要很长的时间。
有什么东西在达格寻找?
1条答案
按热度按时间btxsgosb1#
你只有16个执行者,你有大约2000个任务需要这些执行者完成。你应该看看你是否启用了自适应查询。
Non Databricks version:
设置("已启用Spark. sql.自适应",真)
这将自动减少写入的文件数量,如果它检测到它们足够小,可以合并(需要配置),或者帮助您处理Skew(需要配置),如果这是一个问题。