Дорожная карта курса
Курс состоит из 14 модулей — от введения до capstone-проекта. Модули выстроены последовательно: каждый опирается на знания из предыдущих.
О нумерации модулей. В курсе нет модуля с номером M10 — нумерация идёт M00–M09, затем M11–M14. Это не ошибка: M10 был зарезервирован под отдельный модуль «Production Operations» (мониторинг, deployment, observability), но содержание было перенесено в M11 (Performance Tuning) и M13 (Real-World Patterns) для лучшей структурной связности. Capstone-проект — это M14, а не M10. Renumbering папок отложен, чтобы не ломать внешние ссылки и закладки.
Обзор модулей
Фундамент (M00-M02)
| Модуль | Название | Что вы изучите |
|---|---|---|
| M00 | Введение в курс | Обзор, предварительные требования, структура |
| M01 | Apache Arrow Foundation | Колоночный формат, zero-copy, Buffer/Array/RecordBatch, Arrow Flight |
| M02 | Архитектура DataFusion | Pipeline обработки запросов, SessionContext, каталоги, точки расширения |
M01 (Arrow) — фундамент для всего курса. DataFusion построен поверх Arrow, и понимание колоночного формата критично для остальных модулей. Не пропускайте его, даже если вы знакомы с Arrow на поверхностном уровне.
Интерфейсы и Python (M03-M04)
| Модуль | Название | Что вы изучите |
|---|---|---|
| M03 | SQL и DataFrame API | SQL-диалект DataFusion, DataFrame-операции, UDF, оконные функции |
| M04 | DataFusion Python | Python-биндинги, SessionContext в Python, интеграция с pandas и PyArrow |
Продвинутые темы (M05-M06)
| Модуль | Название | Что вы изучите |
|---|---|---|
| M05 | Расширяемость и кастомизация | Собственные TableProvider, UDF/UDAF, правила оптимизации, ExecutionPlan |
| M06 | Оптимизация запросов | Логический и физический оптимизатор, pushdown, pruning, статистики |
Экосистема (M07-M09)
| Модуль | Название | Что вы изучите |
|---|---|---|
| M07 | Apache Comet | Ускорение Spark через DataFusion, архитектура Native → JVM bridge |
| M08 | Распределённое выполнение | Ballista: scheduler/executor, партиционирование, shuffle, deployment |
| M09 | Экосистема DataFusion | InfluxDB, Dask SQL, custom analytics engines, тренды |
Production и практика (M11-M14)
M10 не используется — см. callout о нумерации выше.
| Модуль | Название | Что вы изучите |
|---|---|---|
| M11 | Performance Tuning | Конфигурация, измерение, query plan analysis, file layout |
| M12 | Lakehouse Integration | Delta Lake, Apache Iceberg, Object Store, multi-format |
| M13 | Real-World Patterns | Streaming/incremental, observability, runbooks |
| M14 | Capstone Project | Проектирование кастомного аналитического движка на базе DataFusion |
Пути обучения
Модули расположены последовательно, но в зависимости от ваших целей можно расставить приоритеты:
Data Engineer / Аналитик
Фокус: использование DataFusion как инструмента
Приоритетные модули: M00 M01 M02 M03 M04 M06
Systems Engineer / Rust Developer
Фокус: расширение и встраивание DataFusion
Приоритетные модули: M00 M01 M02 M05 M06 M14
Platform Architect
Фокус: DataFusion в контексте data-платформы
Приоритетные модули: M00 M02 M06 M07 M08 M09 M11
Зависимости между модулями
Обязательные зависимости:
- M01 (Arrow Foundation) — требуется для всех последующих модулей
- M02 (Архитектура) — требуется для M03, M05, M06
- M03 (SQL/DataFrame API) — требуется для M04
- M05 (Расширяемость) — требуется для M14 (Capstone)
Модули M07 (Comet), M08 (Ballista), M09 (Экосистема) можно изучать в любом порядке после M02. Модули M11-M13 рекомендуется проходить после M06 (Оптимизация запросов).
Готовы начать?
Переходите к M01: Apache Arrow Foundation — фундаменту, на котором построен DataFusion.