Чему вы научитесь
- После курса вы сможете:
- - понимать архитектуру Apache Spark и роль Driver и Executors;
- - объяснять, как Spark разбивает вычисления на Jobs, Stages и Tasks;
- - писать ETL-процессы на PySpark;
- - работать с DataFrame API и Spark SQL;
- - читать данные из файлов и внешних источников;
- - очищать, преобразовывать и агрегировать большие наборы данных;
- - правильно использовать transformations и actions;
- - понимать partitions и управлять количеством партиций;
- - работать с Parquet;
- - выполнять join больших таблиц;
- - понимать причины появления shuffle;
- - анализировать физический и логический план выполнения через explain();
- - понимать роль Catalyst Optimizer;
- - использовать кеширование там, где оно действительно полезно;
- - разбираться с проблемами skew и неэффективных joins;
- - выбирать между repartition() и coalesce();
- - настраивать ресурсы Spark-приложения;
- - понимать влияние размера файлов и количества partitions на производительность;
- - проектировать ETL-конвейеры на Spark;
- - загружать подготовленные данные в аналитическое хранилище;
- - диагностировать медленные Spark jobs;
- - применять базовые подходы к production-развёртыванию Spark-приложений.
О курсе
Для кого этот курс
Начальные требования
Желательно знать:
- основы Python;
- базовый SQL;
- что такое таблицы, строки и столбцы;
- базовые принципы ETL;
- основы командной строки;
- базовое понимание Docker будет полезно.
Не требуется:
- Java;
- Scala;
- Hadoop;
- предварительный опыт работы со Spark;
- опыт построения распределённых систем.
Основные концепции HDFS и distributed computing, которые понадобятся, объясним внутри курса.
Преподаватели курса
Как проходит обучение
Обучение построено от простого к сложному и постоянно опирается на один сквозной учебный проект.
Сначала разберём базовые принципы Apache Spark и PySpark, затем перейдём к DataFrame API, transformations и actions, partitions, shuffle, joins, Parquet, Spark SQL, Catalyst и оптимизации.
Практика будет идти параллельно с теорией. По ходу курса мы шаг за шагом соберём полноценный ETL-конвейер:
PostgreSQL + raw files → PySpark → Parquet → ClickHouse
В каждом модуле будут:
- подробные текстовые уроки с примерами;
- практические задания;
- рабочие примеры кода на PySpark;
- разбор того, как Spark выполняет задачи внутри;
- работа с реальными инженерными сценариями;
- постепенное развитие общего учебного проекта;
- разбор типичных ошибок и production-нюансов.
К финалу курса отдельные части проекта будут объединены в полноценный ETL-процесс.
Что вы получите
- навык разработки ETL-процессов на PySpark
- понимание архитектуры Apache Spark и принципов распределённой обработки
- умение работать с DataFrame API и Spark SQL
- понимание transformations, actions, jobs, stages и tasks
- умение работать с partitions, shuffle и большими joins
- практический опыт работы с Parquet и внешними источниками данных
- умение анализировать планы выполнения через explain()
- понимание Catalyst Optimizer и основных механизмов оптимизации Spark
- навык диагностики медленных Spark jobs и поиска узких мест
- понимание caching, repartition, coalesce и настройки ресурсов
- опыт построения полноценного ETL-конвейера PostgreSQL → PySpark → Parquet → ClickHouse
- готовый учебный проект, который можно использовать как основу для собственного портфолио
- сертификат Stepik после успешного прохождения курса