На этом курсе начинают с основ профессии Data Engineer. Разбирают цели, задачи и обязанности специалиста. Узнают об истории инженерии данных и различиях между Data Engineer и Big Data Engineer. Получают обзор инструментов для работы с Big Data. Параллельно изучают Python для обработки данных - учат строить сервисы, работать с API источников данных, использовать Jupyter Notebook и библиотеку Pandas.
Далее курс охватывает SQL для работы с Big Data. Участники учатся объединять наборы данных с помощью JOIN, UNION, EXCEPT. Осваивают аналитические запросы с оконными функциями и группировкой. Понимают, как писать оптимальные SQL-запросы. Также рассматривают различия между OLTP и OLAP системами на примерах PostgreSQL и Google BigQuery.
Этот блок посвящен хранилищам данных. Узнают про Data Warehouse, Data Lake и Data Swamp. Учат проектировать аналитический слой DWH по подходам Кимбалла и Инмана. Осваивают создание витрин данных. Затем переходят к ETL- и ELT-процессам - учат получать данные из внешних источников, трансформировать и очищать их. Разбирают форматы файлов CSV, JSON, Avro, Parquet, ORC.
Здесь изучают Apache Airflow для управления ETL-процессами. Осваивают Directed Acyclic Graph для описания пайплайнов, популярные операторы, хуки и провайдеры. Затем переходят к распределенным системам - разбирают их принципы работы, преимущества и недостатки. Изучают САР-теорему и особенности построения распределенных систем.
Этот модуль охватывает экосистему Hadoop и ее альтернативы. Учат пользоваться Hadoop Distributed File System. Детально рассматривают внутреннюю архитектуру HDFS, учат управлять файлами и данными. Также осваивают работу с Amazon S3 и Google Cloud Storage.
На этом этапе знакомятся с тремя поколениями архитектур Big Data. Затем переходят к Apache Spark - изучают ее отличия от MapReduce, способы организации данных RDD, Data Frame и Dataset. Учат использовать Spark для работы с большими данными.
Два модуля посвящены SparkSQL. Сначала учат загружать данные в Spark, работать с внешними источниками и выполнять базовые операции с DataFrame. Затем переходят к аналитике на структурированных данных и выгрузке результатов. Отдельно рассматривают оптимизацию заданий в Apache Spark для ускорения обработки данных.
Завершающие модули охватывают потоковую обработку данных с помощью Spark Streaming и инструменты Google Cloud. Изучают BigQuery, Data Studio, Looker, Google Storage, GKE, Cloud Functions и Cloud Run. Также знакомятся с Google Composer, PubSub, Dataflow и облачными решениями Hadoop от Google.
Курс сочетает теоретическую базу с практическими навыками. Участники работают с современными инструментами инженерии данных. В процессе обучения создают проект для собственного портфолио. Получают знания, необходимые для развития карьеры в области Data Engineering.