Learning Platform
Глоссарий Troubleshooting
Урок 01.01 · 10 мин
Начальный

Добро пожаловать в 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 — полезно, но не обязательно (код объясняется подробно)
  • Понимание концепций колоночного хранения — преимущество
TIP

Связь с другими курсами на платформе

Этот курс дополняет:

DataFusion курс учит как устроен движок, другие курсы — как использовать системы на его основе.

Формат обучения

  • Уроки с архитектурными диаграммами и примерами кода
  • Квизы для проверки понимания архитектурных концепций
  • Экзамены по модулю (70% pass threshold)
  • PDF-сертификат после прохождения всех экзаменов

Примерное время прохождения

Полный курс рассчитан на ~40 часов изучения:

  • Теоретические уроки: ~20 часов
  • Квизы и экзамены: ~10 часов
  • Практические задания: ~10 часов

Рекомендуемый темп — 1 модуль в неделю.


Как создавался курс

Курс создан при участии Claude (Anthropic) как соавтора: ИИ помогал писать материалы, структурировать темы, генерировать примеры кода и диаграммы. Каждая глава проходила ручную сверку с первоисточниками — спецификациями, документацией, исходным кодом рассматриваемых систем — но гарантировать 100% точность невозможно.

Если вы заметили неточность, опечатку или хотите предложить улучшение — напишите в Telegram-группу курса. Это самый ценный вклад в курс, который вы можете сделать.


Углублённое изучение с Claude

Курс рассчитан на самостоятельное изучение, но любая теория быстрее ложится, если задавать вопросы. Рекомендую держать рядом браузерное расширение Claude (claude.com/download) — оно работает с контентом открытой страницы: выделяете кусок урока и спрашиваете напрямую.

Сценарии, которые особенно хорошо работают для углублённого погружения:

  • «Объясни проще» / «дай ещё один пример» — когда формулировка из урока не дошла с первого раза.
  • «Покажи, как это устроено на уровне кода / железа» — когда хочется спуститься на слой ниже того, что даёт урок.
  • «Как это связано с [другая тема курса]» — когда нужно увязать концепцию с тем, что было раньше.
  • «У меня в проекте стек X — как применить?» — когда хочется примерить материал на свой реальный кейс.

Это не замена курсу, а способ ускорить интеграцию материала в вашу картину мира. Если что-то из ответов Claude расходится с уроком — присылайте в Telegram-группу, курс будет уточнён.


Нашли ошибку?

Если заметили неточность, опечатку или хотите предложить улучшение:

Telegram-группа курса
Обсуждение, вопросы, предложения

Telegram-канал

Подписывайтесь, чтобы узнавать об обновлениях и новых курсах:

@levoely_channel
Новости, обновления, новые курсы

Проверьте понимание

Результат: 0 из 0
Концептуальный
Вопрос 1 из 5. Какое ключевое отличие подхода этого курса от типичного LeetCode-туториала?

Закончили урок?

Отметьте его как пройденный, чтобы отслеживать свой прогресс

Войдите чтобы оценить урок

Прогресс модуля
0 из 3