Смещение и разлив
Проливать
Первое, что нужно искать на длительном этапе, заключается в том, есть ли разлив.
В верхней части страницы этапа вы увидите сведения, которые могут включать статистику о разливе:
Разлив — это то, что происходит, когда Spark работает с низкой памятью. Он начинает перемещать данные из памяти на диск, и это может быть довольно дорого. Чаще всего это происходит во время перетасовки данных.
Если вы не видите статистику для разлива, это означает, что этап не имеет никакого разлива. Если на этапе есть пролив, см. это руководство о том, как справиться с проливом, вызванным перетасовкой.
Смещение
Следующее, что мы хотим изучить, есть ли перекос. Отклонение заключается в том, что одна или несколько задач занимает гораздо больше времени, чем остальные. Это приводит к неэффективному использованию кластера и увеличению продолжительности выполнения заданий.
Прокрутите вниз до сводных метрик. Главное, что мы ищем, — это чтобы длительность Макс была значительно выше, чем длительность в 75-м процентиле. На скриншоте ниже показан здоровый этап, где 75-й процентиль и Max одинаковы.
Если максимальная длительность составляет 50% больше 75-го процентиля, вы можете страдать от скоса.
Если вы видите отклонение, узнайте о шагах по исправлению перекоса здесь.
Нет размыка или разлива
Если вы не видите смещённость или утечку, вернитесь на страницу задания, чтобы получить обзор о том, что происходит. Прокрутите вниз до верхней части страницы и щелкните связанные идентификаторы заданий:
Этап к заданию
Если на стадии нет разлива или перекоса, см. Spark стадия ввода-вывода для следующих шагов.