Чему вы научитесь
«Данные не помещаются в память» — фраза, после которой задача аналитика уходит к дата-инженерам. Ноутбук виснет на groupby, выгрузка идёт четвёртый час, а продуктовые метрики считаются по сэмплу и с оговорками.
PySpark убирает этот потолок: та же логика, те же метрики — но на терабайтах. Этот курс учит работать с ним как аналитик, а не как инженер: без Scala, без администрирования кластеров, без единой строчки конфигов YARN.
| Сейчас | После курса |
|---|---|
| groupby на 50 млн строк кладёт ноутбук | агрегация на терабайтах за минуты |
| считаете по сэмплу, «чтобы влезло» | расчёт на полных данных |
| «джойн висит на 99%», непонятно почему | читаете план, находите перекос, чините |
| ждёте дата-инженера на каждую вторую задачу | считаете сами и закрываете быстрее |
- — Считать RFM, когорты, воронки и retention на данных, которые не влезают в память
- — Переносить готовую логику pandas и SQL в PySpark, не переписывая с нуля
- — Читать план запроса
explain()и находить причину, почему запрос тормозит - — Лечить перекос данных, OOM и медленные джойны: broadcast, AQE, salting, кэш
- — Проводить Data Quality-аудит одним проходом: пропуски, дубли, битые ключи, валидация
- — Уверенно владеть окнами, cube/rollup, pivot, массивами и UDF
- — Готовить витрины для BI: Parquet, партиционирование, форматы выгрузки
- — Работать на актуальном Spark 4.x: VARIANT, Arrow-native UDF, pipe-синтаксис
Разборы по каждой теме и шпаргалки — на zasqlpython.ru.
| Модуль 0. Старт | когда Spark нужен, а когда честнее взять Polars или DuckDB; первые запросы |
| Модуль 1. Архитектура | ленивость, DAG, джобы, стадии и задачи — почему код ведёт себя именно так |
| Модуль 2. От pandas к Spark | перенос привычной логики: фильтры, колонки, группировки, null-семантика |
| Модуль 3. Данные и форматы | схемы, Parquet, партиционирование, облако, Delta Lake, типы и таймзоны |
| Модуль 4. Метрики | джойны, окна, cube/rollup, pivot, массивы, semi/anti-джойны |
| Модуль 5. Data Quality | пропуски, дубли, валидация, регулярки, приближённые алгоритмы |
| Модуль 6. Производительность | план запроса, перекос, OOM, AQE, Spark UI, оптимизация |
| Модуль 7. UDF и Arrow | когда UDF оправдан, а когда убивает производительность |
| Модуль 8. Spark SQL и витрины | SQL-движок, выгрузка в BI, финальный проект |
Подробный разбор программы и дополнительные материалы: zasqlpython.ru.
Курс построен так, что вы решаете сами — готовых ответов в уроках нет. Каждая задача проходит один и тот же путь:
2. Вы решаете настоящим PySpark в Google Colab: ноутбук модуля уже собран, данные вшиты — копировать ничего не нужно.
3. Вводите ответ на Stepik и сразу видите результат автопроверки.
- — Навык, который снимает потолок в работе и заметен в резюме
- — 44 решённые задачи и готовые Colab-ноутбуки — рабочие заготовки, а не учебные примеры
- — Отработанные метрики: RFM-сегментация, когортный анализ, DQ-скоркарта, оптимизация джойнов
- — Сертификат Stepik по набранным за задания баллам
- — Доступ к базе разборов и шпаргалок на zasqlpython.ru
Автор курса — практикующий аналитик. Больше материалов по Python, SQL и PySpark: zasqlpython.ru.
О курсе
Для кого этот курс
- — Аналитик данных, упёршийся в потолок pandas
- — Продуктовый аналитик, который считает метрики по сэмплу, потому что полные данные не тянутся
- — BI- и дата-аналитик, которому выдали доступ к Spark-кластеру и оставили разбираться
- — SQL-аналитик, переходящий на большие данные
- — Тот, кто устал зависеть от дата-инженеров в каждой второй задаче
Начальные требования
- — Python на уровне уверенного pandas:
DataFrame,groupby,merge - — Базовый SQL:
SELECT,JOIN,GROUP BY, агрегаты - — Готовность решать задачи руками — теории здесь меньше, чем практики