我是新来的。我目前得到一些非常奇怪的缓慢Parquet写入亚马逊s3后,我的Spark计算完成。
写一个小文件花了1.8个小时(写的时候有2个分区)
我用一个不同的更大的文件(更多的行+更多的列)运行了相同的spark计算(编写时有3个分区)
写入调用本身: df.write.mode("overwrite").parquet(key)
我试着查看sql计划,它们看起来没有什么不同。即使慢是文件差异造成的,我也不希望一个小于1min,另一个大于1.5h。
对于我的慢文件,我拿出Parquet地板写和总计算时间从2.6小时->1小时,所以我不认为这是做懒惰的评估在最后导致它慢。
你们对调查什么有什么建议吗?我试着查看历史服务器的dag和sql选项卡,但没有看到任何突出的内容遗嘱执行人的名字是一样的。我看到的主要区别是,在编写parquet时,较大和较快的文件有3个任务,但每个任务处理的行数和字节数都比较小和较慢的文件多。
暂无答案!
目前还没有任何答案,快来回答吧!