Yandex Cloud
Поиск
Связаться с намиПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex Managed Service for Apache Spark™
  • Начало работы
    • Все инструкции
      • Мониторинг состояния кластера
      • Просмотр логов кластера
      • Мониторинг состояния Spark-приложений
      • Диагностика и примеры устранения проблем производительности Spark-приложений
  • Управление доступом
  • Правила тарификации
  • Метрики Yandex Monitoring
  • Аудитные логи Audit Trails
  • Справочник Terraform
  • История изменений

В этой статье:

  • Первичная диагностика производительности Spark-приложений
  • Примеры устранения проблем производительности Spark-приложений
  • Медленная загрузка данных из S3
  • Плохой параллелизм на кластере с большим количеством vCPU
  1. Пошаговые инструкции
  2. Логи и мониторинг
  3. Диагностика и примеры устранения проблем производительности Spark-приложений

Диагностика и примеры устранения проблем производительности Spark-приложений

Статья создана
Yandex Cloud
Обновлена 26 февраля 2026 г.
  • Первичная диагностика производительности Spark-приложений
  • Примеры устранения проблем производительности Spark-приложений
    • Медленная загрузка данных из S3
    • Плохой параллелизм на кластере с большим количеством vCPU

Если вы столкнулись с медленной работой Spark-приложений:

  • Проверьте их работу, чтобы установить причину проблем с производительностью.
  • Попробуйте воспользоваться одним из примеров устранения проблем производительности.

Первичная диагностика производительности Spark-приложенийПервичная диагностика производительности Spark-приложений

Если производительность Spark-приложения низкая, проведите первичную диагностику:

  • Проверьте состояние кластера и его хостов и убедитесь, что значения метрик в пределах нормы.

  • Посмотрите подробную информацию о приложении и проверьте состояние заданий, моменты фактического начала и завершения их выполнения на диаграмме Event Timeline:

    • определите задания, которые занимают больше всего времени;
    • ознакомьтесь с заданиями, которые завершились ошибкой, и выясните причины сбоя;
    • проанализируйте общее время выполнения приложения;
    • проверьте последовательность выполнения действий.
  • Посмотрите подробную информацию о стадиях выполнения:

    • определите стадии, которые занимают больше всего времени;
    • проанализируйте shuffle-операции для выявления избыточного перемещения данных;
    • обратите внимание на метрику GC Time — высокое значение может указывать на проблемы с памятью;
    • посмотрите DAG Visualization для понимания последовательности и зависимости между операциями.
  • Проверьте выделенные для приложения ресурсы:

    • Убедитесь, что приложению доступно достаточно исполнителей и доступные исполнители не простаивают.
    • Убедитесь, что ресурсы в рамках одного исполнителя используются сбалансированно.
  • Проверьте планы SQL-запросов и продолжительность выполнения отдельных операций.

Примеры устранения проблем производительности Spark-приложенийПримеры устранения проблем производительности Spark-приложений

Медленная загрузка данных из S3Медленная загрузка данных из S3

Проблема: долгое выполнение Spark-приложения.

Шаги диагностикиШаги диагностики

  1. Выявите проблемное задание.

    • Откройте вкладку Jobs в Spark History Server.
    • Сравните Duration между разными заданиями.
    • Найдите задание, которое занимает больше всего времени.
  2. Проанализируйте стадии проблемного задания.

    • Перейдите в проблемное задание и откройте вкладку Stages.
    • Отсортируйте стадии по Duration.
    • Проанализируйте стадии, которые занимают больше всего времени.
    • Проверьте метрики Input Size для определения объема читаемых данных.

    Итог: обнаружена стадия, отвечающая за чтение данных из S3.

  3. Проверьте метрики мониторинга кластера.

    Проверьте метрики, связанные с vCPU.

    Итог: обнаружена почти полная загрузка vCPU во время стадии чтения данных.

Загрузка данных из S3 осуществляется через интернет, она ограничена доступными vCPU-ресурсами. Чем больше vCPU доступно, тем быстрее Spark может обрабатывать входящий поток данных.

Решение проблемыРешение проблемы

Для устранения проблемы рекомендуется увеличить количество vCPU у хостов кластера.

Плохой параллелизм на кластере с большим количеством vCPUПлохой параллелизм на кластере с большим количеством vCPU

Проблема: неэффективное использование vCPU-ресурсов из-за недостаточного количества операций (tasks), что приводит к простою части ядер и увеличению времени выполнения.

Шаги диагностикиШаги диагностики

  1. Проверка утилизации ресурсов кластера.

    Проверьте конфигурацию кластера и доступные vCPU-ресурсы.

  2. Анализ стадий в Spark History Server.

    • Откройте вкладку Stages в Spark History Server.
    • Отсортируйте стадии по Duration (длительности).
    • Выберите самую долгую стадию.
    • Обратите внимание на колонку Total Tasks — общее количество операций в стадии.
    • Проверьте соотношение количества операций к количеству доступных vCPU.

    Итог: обнаружена стадия с недостаточным количеством операций. Какие-то ядра выполняют по одной задаче, а какие-то — по две. Часть ядер простаивает.

Решение проблемыРешение проблемы

Для устранения проблемы рекомендуется разбивать стадии на более мелкие подоперации. Увеличьте количество партиций для shuffle-операций с помощью настройки свойства spark.sql.shuffle.partitions, чтобы распределение работы было более равномерным.

Была ли статья полезна?

Предыдущая
Мониторинг состояния Spark-приложений
Следующая
Все руководства
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»