倾斜和溢写

溢写

在长时间运行的阶段中,首先需要检查是否存在溢写

在阶段页面的顶部,你将看到详细信息,其中可能包括有关溢写的统计信息:

溢写统计信息

当 Spark 内存不足时,就会发生溢写。 溢写会开始将数据从内存移到磁盘,这种操作的开销可能很高。 这种情况在数据随机处理期间最为常见。

如果未看到任何溢写统计信息,则意味着该阶段没有任何溢写。 如果阶段中存在一些溢写,请参阅此指南来了解如何处理因随机处理而导致的溢写。

倾斜

接下来分析是否存在倾斜。 倾斜是指一个或少量几个任务比其他任务花费的时间长得多。 这会导致群集利用率低下和作业时间变长。

向下滚动到“摘要指标”。 我们主要查找的是最大持续时间是否远高于第 75 百分位持续时间。 以下屏幕截图显示了一个正常的阶段,其中第 75 百分位持续时间和“最大”持续时间相同

倾斜统计信息

如果“最大”持续时间比第 75 百分位持续时间多 50%,则可能会遇到倾斜问题。

如果看到倾斜,请在此处了解倾斜修正步骤。

无倾斜或溢写

如果未看到倾斜或溢写,请返回作业页面以大致了解正在发生的情况。 向上滚动到页面顶部,然后单击“关联的作业 ID”

阶段到作业

如果阶段没有溢写或倾斜,请参阅高 I/O 的 Spark 阶段了解后续步骤。