Добро пожаловать в Apache DataFusion
Этот курс учит проектировать и расширять query engine — не просто писать SQL-запросы, а понимать, как устроен движок обработки данных изнутри и как адаптировать его под свои задачи.
Apache DataFusion (v53.0.0, релиз 2026-04-02) — это расширяемый query engine на Rust, использующий Apache Arrow как in-memory формат. В отличие от готовых баз данных, DataFusion — это библиотека, из которой вы строите собственные аналитические системы.
Что вас ждёт
- Apache Arrow Foundation — колоночный формат, zero-copy, интеграция с экосистемой
- Архитектура DataFusion — от SQL-парсинга до физического выполнения
- SQL и DataFrame API — два интерфейса к одному движку
- DataFusion Python — Python-биндинги для аналитики и прототипирования
- Расширяемость — собственные источники данных, функции, оптимизаторы
- Оптимизация запросов — Catalyst-подобный оптимизатор, pushdown, pruning
- Apache Comet — ускорение Apache Spark через DataFusion
- Распределённое выполнение — Ballista и архитектура scheduler/executor
- Экосистема — InfluxDB, Dask SQL, Ray и другие проекты на базе DataFusion
- Capstone — проектирование кастомного аналитического движка
Чем этот курс отличается
| Документация DataFusion | Этот курс |
|---|---|
| API reference и примеры | Архитектура: как и почему устроен движок |
| Как написать UDF | Расширяемость: проектирование собственных провайдеров и оптимизаторов |
| Как запустить SQL-запрос | Оптимизация: что происходит между SQL и результатом |
| Отдельные subprojects | Экосистема: как DataFusion используется в production-системах |
Предварительные требования
- Уверенный SQL (JOIN, подзапросы, оконные функции)
- Базовый Python (для модуля DataFusion Python)
- Знакомство с Rust — полезно, но не обязательно (код объясняется подробно)
- Понимание концепций колоночного хранения — преимущество
Связь с другими курсами на платформе
Этот курс дополняет:
- Apache Spark Deep-Dive — для сравнения с Spark и понимания, как Comet ускоряет Spark через DataFusion
- System Design для Data Engineer — для контекста проектирования data-платформ
DataFusion курс учит как устроен движок, другие курсы — как использовать системы на его основе.
Формат обучения
- Уроки с архитектурными диаграммами и примерами кода
- Квизы для проверки понимания архитектурных концепций
- Экзамены по модулю (70% pass threshold)
- PDF-сертификат после прохождения всех экзаменов
Примерное время прохождения
Полный курс рассчитан на ~40 часов изучения:
- Теоретические уроки: ~20 часов
- Квизы и экзамены: ~10 часов
- Практические задания: ~10 часов
Рекомендуемый темп — 1 модуль в неделю.
Как создавался курс
Курс создан при участии Claude (Anthropic) как соавтора: ИИ помогал писать материалы, структурировать темы, генерировать примеры кода и диаграммы. Каждая глава проходила ручную сверку с первоисточниками — спецификациями, документацией, исходным кодом рассматриваемых систем — но гарантировать 100% точность невозможно.
Если вы заметили неточность, опечатку или хотите предложить улучшение — напишите в Telegram-группу курса. Это самый ценный вклад в курс, который вы можете сделать.
Углублённое изучение с Claude
Курс рассчитан на самостоятельное изучение, но любая теория быстрее ложится, если задавать вопросы. Рекомендую держать рядом браузерное расширение Claude (claude.com/download) — оно работает с контентом открытой страницы: выделяете кусок урока и спрашиваете напрямую.
Сценарии, которые особенно хорошо работают для углублённого погружения:
- «Объясни проще» / «дай ещё один пример» — когда формулировка из урока не дошла с первого раза.
- «Покажи, как это устроено на уровне кода / железа» — когда хочется спуститься на слой ниже того, что даёт урок.
- «Как это связано с [другая тема курса]» — когда нужно увязать концепцию с тем, что было раньше.
- «У меня в проекте стек X — как применить?» — когда хочется примерить материал на свой реальный кейс.
Это не замена курсу, а способ ускорить интеграцию материала в вашу картину мира. Если что-то из ответов Claude расходится с уроком — присылайте в Telegram-группу, курс будет уточнён.
Нашли ошибку?
Если заметили неточность, опечатку или хотите предложить улучшение:
Telegram-канал
Подписывайтесь, чтобы узнавать об обновлениях и новых курсах: