YTsaurus SPYT: как мы избавились от форка Apache Spark и поддержали широкую совместимость

Александр Токарев / Yandex Infrastructure Проекту SPYT, обеспечивающему интеграцию Apache Spark с YTsaurus, больше 5 лет. Несколько лет назад мы уже рассказывали о том, как нам удалось их подружить так, чтобы всё работало эффективно (highload.ru/spring/2021/abstracts/7266). С тех пор в проекте произошёл ряд важных событий, и самое главное из них — выход YTsaurus в Open Source весной 2023 года. Выход в Open Source принёс в проект ряд новых требований. Во-первых, как и многие другие компании, мы использовали свой форк спарка, в котором сделали ряд модификаций. И при выходе в Open Source нам пришлось включить весь код модифицированного спарка в свой репозиторий (а это больше 2 миллионов строк), хотя в целом изменения там были не очень существенные. Это сильно усложнило как понимание самого кода для сторонних разработчиков, так и процесс его сборки и модификации. Ещё одним требованием, возникшим после выхода в Open Source, стала одновременная поддержка нескольких версий спарка. И если внутренних пользователей в целом устраивала версия спарка, на которой был основан форк, то внешние пользователи хотели использовать произвольную версию спарка, не ограничиваясь лишь той версией, на базе которой мы сделали свой форк. Перед нами встала задача: перенести все наши доработки из форка в SPYT и перейти на использование оригинальных дистрибутивов спарка. Другой сопутствующей задачей стал уход от жёсткой привязки к определённой версии спарка и обеспечение возможности работать с произвольной версией таким образом, чтобы сохранился весь функционал и не была нарушена бинарная совместимость между SPYT и спарком. В своём докладе я расскажу о том, зачем изначально нам потребовалось сделать форк и пропатчить Apache Spark, какие это вносило неудобства, и как мы справились с самыми главными вызовами после выхода проекта в Open Source: отказ от форка Apache Spark и поддержка работы SPYT, используя произвольную версию Apache Spark. highload.ru/moscow/2024/abstracts/13033

Как объединять данные из разных СУБД и делать это эффективно / Виталий Исаев / Yandex Infrastructure
▶︎

Как объединять данные из разных СУБД и делать это эффективно / Виталий Исаев / Yandex Infrastructure

Laddering: From Kelly Triads to AI-Based Creative Evaluation | Viktor Ivanov | AI Meetup
▶︎

Laddering: From Kelly Triads to AI-Based Creative Evaluation | Viktor Ivanov | AI Meetup

What Nobody Tells You About Being a Quant
▶︎

What Nobody Tells You About Being a Quant

Геннадий Хазанов "Объезд по кривой" (1989)
▶︎

Геннадий Хазанов "Объезд по кривой" (1989)

What is YTsaurus and how to set it up (SUB)
▶︎

What is YTsaurus and how to set it up (SUB)

Как на самом деле выглядит работа в IT | Один день из жизни программиста
▶︎

Как на самом деле выглядит работа в IT | Один день из жизни программиста

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains
▶︎

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains

Принц Персии: разбираем код гениальной игры, вытирая слезы счастья
▶︎

Принц Персии: разбираем код гениальной игры, вытирая слезы счастья

Richard Stallman: The Most Inconvenient Man in IT
▶︎

Richard Stallman: The Most Inconvenient Man in IT

Еврейская мама женит сына
▶︎

Еврейская мама женит сына

Главный навык 21 века! Как читать людей без слов и получать то, что хочешь?
▶︎

Главный навык 21 века! Как читать людей без слов и получать то, что хочешь?

AI for the Little Ones: How LLM and AI Agent Work
▶︎

AI for the Little Ones: How LLM and AI Agent Work

Лучший Гайд по Kafka для Начинающих За 1 Час
▶︎

Лучший Гайд по Kafka для Начинающих За 1 Час

Stop Prompting Claude. Use Karpathy's Method Instead.
▶︎

Stop Prompting Claude. Use Karpathy's Method Instead.

Революционная ситуация: признаки. Статус S09E42
▶︎

Революционная ситуация: признаки. Статус S09E42

Andrej Karpathy: From Vibe Coding to Agentic Engineering w/ Stephanie Zhan
▶︎

Andrej Karpathy: From Vibe Coding to Agentic Engineering w/ Stephanie Zhan

Full Archon Guide - Build AI Coding Harnesses That Actually Ship (LIVE)
▶︎

Full Archon Guide - Build AI Coding Harnesses That Actually Ship (LIVE)

Выводы за 15 лет практики семейного психолога: 10 золотых правил для отношений без нервов. Шабшин
▶︎

Выводы за 15 лет практики семейного психолога: 10 золотых правил для отношений без нервов. Шабшин

What to teach when AI writes the code | Rainer Stropek | TEDxLinz
▶︎

What to teach when AI writes the code | Rainer Stropek | TEDxLinz