Обновить

YTsaurus SPYT: помогаем планировщику Apache Spark быть ещё эффективнее

Уровень сложностиСложный
Время на прочтение13 мин
Охват и читатели3.6K
Всего голосов 17: ↑17 и ↓0+17
Комментарии4

Комментарии 4

Спасибо за ссылку, было интересно ознакомиться. Действительно, суть подходов - схожа.
- Hyperspace, судя по их странице на Microsoft, ориентирован на эффективные select и join запросы. В проекте SPYT при чтении из YTsaurus мы тоже реализуем Predicate Pushdown + оптимизация Aggregation и Join запросов из статьи.
- Также описанное в статье не требует предобработки, при подготовке витрин дата-инженеры обычно сортируют данные по типичным полям (id или datetime) в процессе заливки (так оно почти всегда занимает меньше места на диске), а YTsaurus сам поддерживает эту мету в актуальном состоянии.
Но вообще инструмент, конечно, заслуживает внимание и можно посмотреть в сторону его поддержки поверх YTsaurus и внутреннего формата хранения таблиц.

Спасибо за статью. Для добавления этих правил пришлось патчить спарк или у него есть API для добавления произвольных правил? Если прогнать без оптимизаций и с оптимизациями на бенчмарке типа TPCH, то эффект заметен?

У спарка есть API для добавление произвольных правил.
Вот тут при старте произвольной спарк сессии мы включаем свое правило (Rule). Тут используется наш хук на старт сессии. Обычно у команд дата-платформы уже есть такие хуки и тогда добавление правила - одна строчка.
А вот здесь мы включаем свои стратегии (Strategy), тоже одна строчка. Класс с подключением стратегий прописывается в опцию spark.sql.extensions.
Масштабной проверки на известных бенчмарках не делали. Вообще в планах есть провести тесты производительности Spark с YTsaurus и Spark с Hadoop. В рамках этого также можно будет посмотреть на отдельный эффект этой оптимизации. Спасибо за идею.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Информация

Сайт
www.ontico.ru
Дата регистрации
Дата основания
Численность
51–100 человек
Местоположение
Россия