Data Engineering
Курс для тех, кто хочет навести порядок в архитектуре данных и освоить ключевые инструменты дата-инженера на практике.
Александр Зинич
Data Team Lead в Grid Dynamics
6 лет опыта в IT

9 недель
18 онлайн-занятий[каждый вторник и четверг]
На курсе вы детально изучите все этапы обработки данных, будете строить ETL-системы и хранилища, настраивать автоматическое обновление дата-пайплайнов и успешно обрабатывать 1 Пбайт данных.
* курс преподается на украинском языке
чтобы погрузиться в процесс обработки данных, освоить ключевые инструменты, среди которых Apache Airflow, Apache Hadoop, Apache Spark, и сменить профессию на Big Data Engineer.
чтобы не просто анализировать данные, но и выстраивать процессы загрузки/выгрузки, проектировать хранилища, настраивать автоматическое обновление дата-пайплайнов и упростить себе работу.
чтобы навести порядок в данных, научиться проектировать понятную архитектуру под задачи бизнеса и оперативно обрабатывать до 1 Пбайт данных.

Существует миф, что дата-инженер делает всю «грязную» работу с данными — «вытаскивает» их из хранилищ, сортирует «сырые» данные, а затем передает аналитикам и дата-сайентистам, которые творят с ними настоящую магию. Но магии не будет, если подготовить данные неправильно.
На этом курсе мы начнем с базовых выражений Python и SQL, которые помогут находить корректные данные. Затем ― научимся настраивать ETL-процессы и передавать данные между системами, будем запускать автоматическое обновление дата-пайплайнов и строить Big Data Platforms, которые способны масштабироваться. В результате вы освоите 6 ключевых инструментов инженера данных и будете передавать корректные показатели для принятия эффективных бизнес-решений.
Вы разберете существующие решения обработки big data на части, рассмотрите и повторите каждую. В результате ― узнаете, что учитывать при разработке и как не паниковать, если требования к системе меняются.
Разберетесь в интерфейсе и научитесь пользоваться Hadoop, Apache Airflow, Apache Spark, SparkSQL, HDFS, MapReduce.
Построите собственную Big Data Platform, которая способна масштабироваться, и добавите кейс в свое портфолио.
Откроете новый подход в работе с big data, получите рекомендации по трудоустройству и начнете путь в Data Engineering.

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