YTsaurus Shuffle Service: как повысить надежность и производительность тяжелых Spark-приложений
Доклад принят в программу конференции
Целевая аудитория
Тезисы
При работе 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.
Видео
Другие доклады секции
Базы данных и системы хранения