【问题标题】:Why dataSkewness gives issues in spark?为什么 dataSkewness 会在火花中产生问题?
【发布时间】:2022-01-03 13:06:22
【问题描述】:

我正在尝试了解 Spark 中数据倾斜时发生的问题。

假设我有以下数据,而我 left outer join 的数据集非常小。

true //50 million records
false //50k records

所以在上述情况下,true 记录将被加载到一个分区中,如果过载,它应该创建另一个分区。

但它卡在哪里了?我正在尝试将其可视化。

请帮助我理解在卡住的流程中会发生什么。网上看了很多,但没能完全明白。

【问题讨论】:

  • 我想你应该多告诉我们一点。如果您做了一些特殊的事情,请显示左右数据集的示例和代码。

标签: java apache-spark dataset


【解决方案1】:

数据偏斜是指需要处理的 rdd 或数据帧的许多小分区和少量较大分区。少数较大的分区将比较小的分区花费更长的时间来处理。因此,如果不将它们返回给资源管理器,那么您将浪费用于较小分区的执行器,并且缺乏均匀分布会延长整个阶段时间。

在您的示例中,您可能认为您的数据存在偏差,但可能是在暗示大表与小表的 JOIN。所谓的Broadcast JOIN,那是这几天到处都在描述的另一件事。顺便说一句,这种类型的查询没有问题。偏斜数据属于单个数据帧或 rdd。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    • 1970-01-01
    相关资源
    最近更新 更多