【问题标题】:Weird Parquet Write Bottleneck奇怪的 Parquet 写入瓶颈
【发布时间】:2022-04-05 05:15:10
【问题描述】:

我对火花有点陌生。在我的 spark calc 完成后,我目前正在向亚马逊 s3 写入一些非常奇怪的慢速镶木地板。

写一个小文件用了1.8小时(写的时候有2个分区)

我使用不同的 LARGER 文件(更多行 + 更多列)运行相同的 spark calc(写入时有 3 个分区)

write 调用本身:df.write.mode("overwrite").parquet(key)

我尝试查看 SQL 计划,但它们看起来并没有什么不同。即使缓慢来自文件差异,我也不希望一个小于 1 分钟而另一个 > 1.5 小时。

对于我的慢速文件,我取出了 parquet 写入,总计算时间从 2.6 小时 -> 1 小时,所以我不认为它在最后执行惰性 eval 导致它变慢。

你们对调查什么有什么建议吗?我尝试检查历史服务器的 DAG 和 SQL 选项卡,但没有看到任何突出的内容。 # 执行者是相同的。主要差异我看到更大更快的文件在编写 parquet 时有 3 个任务,但每个任务处理的行数和字节数都比较小的慢速文件多。

【问题讨论】:

  • 您是否尝试比较生成的 parquet 文件的元数据?
  • 我没有看到任何异常,只是行大小和其他东西。我应该寻找一些具体的东西吗?列平均?指标?

标签: apache-spark pyspark parquet


【解决方案1】:

相信问题在于我没有意识到它在进行惰性评估。

【讨论】:

    猜你喜欢
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多