首先确定作业的最长阶段。 滚动到作业页面底部的阶段列表,并按持续时间对它们进行排序:
阶段 I/O 详细信息
若要查看有关此阶段执行内容的高级数据,请查看输入、输出、洗牌读取和洗牌写入列:
这些列表示以下内容:
- 输入: 此阶段从存储中读取的数据量。 这可以从 Delta、Parquet、CSV 等进行读取。
- 输出: 此阶段写入存储的数据量。 这可能写入 Delta、Parquet、CSV 等。
- 随机读取: 此阶段读取的随机数据量。
- 随机写入: 这个阶段写了多少随机数据。
如果你不熟悉洗牌是什么,现在是 了解 这意味着什么的好时机。
记下这些数字,因为稍后可能需要这些数字。
任务数
较长的阶段中任务的数量可以指引你找到问题的方向。 可以通过查看此处来确定任务数:
如果你发现有一个任务,那可能是问题的迹象。 有关详细信息,请参阅 一个 Spark 任务。
查看更多阶段详细信息
如果阶段有多个任务,则应进一步调查。 单击阶段说明中的链接,获取有关最长阶段的详细信息:
现在你正在阶段页面,请参阅“倾斜”和“溢出”。