Compartir a través de

在 Spark 中诊断长作业

首先确定作业的最长阶段。 滚动到作业页面底部的阶段列表,并按持续时间对它们进行排序:

长阶段

阶段 I/O 详细信息

若要查看有关此阶段所执行的作的高级数据,请查看 “输入”、“ 输出”、“ 随机读取”和“ 随机写入 ”列:

长阶段 I/O

这些列表示以下内容:

  • 输入: 此阶段从存储中读取的数据量。 这可以从 Delta、Parquet、CSV 等进行读取。
  • 输出: 此阶段写入存储的数据量。 这可能正在写入 Delta、Parquet、CSV 等。
  • 随机读取: 此阶段读取的随机数据量。
  • 随机写入: 这个阶段写了多少随机数据。

如果你不熟悉洗牌是什么,现在是 了解 这意味着什么的好时机。

记下这些数字,因为稍后可能需要这些数字。

任务数

较长阶段的任务数可以指出问题的方向。 可以通过查看此处来确定任务数:

确定任务数

如果看到一个任务,这可能是问题的迹象。 有关详细信息,请参阅 一个 Spark 任务

查看更多阶段详细信息

如果阶段有多个任务,则应进一步调查。 单击阶段说明中的链接,获取有关最长阶段的详细信息:

打开阶段信息

现在你正在阶段的页面,请参阅 “倾斜”和“溢出”。