Чему вы научитесь
- Преобразовывать DataFrame: выбирать колонки, фильтровать строки, работать с типами, датами, строками и NULL
- Рассчитывать показатели с помощью группировок, агрегатов и оконных функций
- Соединять таблицы и проверять, не потерялись ли строки и не появились ли лишние повторы
- Обрабатывать массивы, структуры и JSON; понимать, когда нужна UDF
- Читать план выполнения и объяснять роль партиций, shuffle, кэша и AQE
- Запускать локальную учебную среду Spark через Docker Compose и Jupyter
- Строить слои Bronze, Silver и Gold, вести историю клиентов SCD2 в Delta Lake
- Проверять качество данных, денежные суммы и результат повторной обработки
- Загружать витрины в ClickHouse и собирать по ним дашборд Metabase
О курсе
Для кого этот курс
Начальные требования
Spark изучаем с нуля. До начала курса нужны основы Python: переменные, условия, циклы, функции, списки и словари; умение читать простой код и сообщения об ошибках.
В SQL достаточно понимать SELECT, WHERE, GROUP BY и простое соединение таблиц. Оконные функции и разные виды join разберём в курсе. Знакомство с pandas и Jupyter полезно, но не обязательно.
Для заданий на Stepik достаточно компьютера с браузером и интернетом: устанавливать Spark и владеть Linux заранее не нужно.
Для локального проекта в модулях 10–11 нужны Docker, возможность устанавливать программы и свободные ресурсы: минимум 10 ГБ оперативной памяти и 20 ГБ на диске. Это свободная память, а не общий объём RAM компьютера. Перед запуском сверьтесь с README проекта и инструкциями модуля 10.
Предварительное знание Java, Scala, Hadoop и облачных платформ не требуется.
Преподаватели курса
Как проходит обучение
Проходите материал в своём темпе: читайте объяснение и пример, затем отвечайте на вопросы и решайте практические задачи. После отправки Stepik покажет результат автопроверки; при ошибке можно разобрать условие и попробовать снова.
Модули 1–9 — знакомство со Spark и практика в браузере. Задания на код используют авторский учебный API, который воспроизводит выбранные операции PySpark. Он помогает отработать логику преобразований, но не запускает распределённый Spark. Точный порядок работы и формат ответа разобраны во вводном туториале. В модуле 9 вы объедините навыки в мини-проекте.
Модули 10–11 — локальный проект на настоящем Spark 3.5.3. Вы настроите среду по инструкции и последовательно выполните ноутбуки: загрузите данные, построите слои Bronze/Silver/Gold, проверите историю изменений и выведете витрины в дашборд.
Для отдельных опытов с настоящим Spark предусмотрен дополнительный notebook. План выполнения, физический кэш и время работы изучаем в реальной среде. Если компьютер пока не готов к полному проекту, можно пройти браузерную часть и вернуться к установке позже.
В завершении курса вы сможете сверить результат с чек-листом и выбрать следующую самостоятельную задачу.
Что вы получите
- Практику преобразования данных: задачи с автопроверкой и мини-проект на Stepik
- Текстовые объяснения, схемы и примеры, к которым удобно возвращаться во время работы
- Учебный проект на настоящем Spark с историей клиентов, проверками данных и дашбордом
- Основу для портфолио после собственного запуска и доработки: код, результаты и объяснение решений
- Чек-лист освоенных навыков и идеи для самостоятельного продолжения