YTsaurus Shuffle Service: как повысить надежность и производительность тяжелых Spark-приложений

Базы данных и системы хранения

Отказоустойчивость
Распределенные системы
Базы данных, обработка данных
YTSaurus

Доклад принят в программу конференции

Целевая аудитория

Специалисты по Spark и MapReduce, пользователи YTsaurus, интересующиеся методами повышения надежности распределённых вычислений и внутренним устройством системы.

Тезисы

При работе Apache Spark промежуточные shuffle-данные по умолчанию хранятся на локальных дисках executor-ов, что связывает их жизненный цикл с конкретными процессами и хостами. Это создаёт уязвимости: сбой или вытеснение executor-а может привести к повторным вычислениям, замедлению работы и росту потребления ресурсов, особенно в долгоживущих и ресурсоёмких приложениях.

В стандартном подходе для повышения надёжности применяется External Shuffle Service, однако он по-прежнему опирается на локальное хранение и требует дополнительной поддержки со стороны инфраструктуры. Мы реализовали альтернативный подход: хранение shuffle-данных в распределённом хранилище YTsaurus. Такой способ повышает надёжность, упрощает квотирование ресурсов, позволяют динамически реконфигурировать кластер, а также открывают возможность применения альтернативного push-based подхода к shuffle-операциям без необходимости изменений со стороны Spark. Реализация полностью прозрачна и может применяться для всех Spark-задач, запускаемых на платформе YTsaurus вне зависимости от типа и объёма нагрузки.

В докладе будут рассмотрены детали интеграции YTsaurus со Spark, а также представлены актуальные результаты оценки производительности решения на реальных задачах платформы.

Занимается разработкой подсистемы MapReduce платформы YTsaurus.

Разработчик с 15+ лет опыта. Раньше работал в компаниях Qiwi, CleverData и Leroy Merlin. Последние 10 лет разрабатывает распределенные системы для хранения и обработки больших объёмов неструктурированных данных. В настоящее время в Яндексе занимается интеграцией Apache Spark с YTsaurus.

Видео