Чему вы научитесь
Кому будет полезен этот курс 👨💻:
- начинающим Data Engineers;
- аналитикам данных, которые хотят лучше понимать, как устроена загрузка данных в DWH;
- системным аналитикам DWH;
- разработчикам ETL/ELT-процессов;
- тем, кто уже работает с SQL и Python и хочет научиться автоматизировать пайплайны данных.
Apache Airflow — один из самых популярных инструментов для оркестрации пайплайнов данных. С его помощью можно запускать задачи по расписанию, управлять зависимостями между ними, контролировать ошибки и повторные запуски, а также следить за выполнением всего процесса обработки данных.
В этом курсе мы шаг за шагом построим полноценный процесс загрузки и обработки данных в DWH: от получения исходных данных до формирования аналитических витрин.
3 важных особенности курса 👇:
Практика
Мы развернём Airflow в Docker и создадим DWH. По ходу курса разработаем несколько связанных пайплайнов и объединим их в единый процесс обработки данных. Загрузим события интернет-магазина и курсы валют, подготовим данные о продажах и построим агрегированную витрину для BI.
От простого к сложному
Начнём с основных понятий Airflow: DAG, Task, расписание и зависимости. Затем разберём Data Interval, Backfill, Connections, XCom, Sensors, retries, catchup и другие механизмы, которые используются в реальных пайплайнах.
Поддержка
Если по ходу курса у вас возникнут вопросы, задавайте их в комментариях. Стараемся отвечать на все вопросы в течение дня.
Завершив курс, вы сможете 👨🎓:
- создавать DAG и задачи в Apache Airflow;
- настраивать расписание и зависимости между задачами;
- создавать ежедневные и инкрементальные загрузки данных;
- работать с catchup, Data Interval и Backfill;
- подключаться к базам данных через Airflow Connections;
- использовать XCom и Sensors;
- настраивать retries и обрабатывать ошибки;
- строить связанные ETL/ELT-пайплайны для загрузки и обработки данных в DWH.
Начальные требования:
- знание SQL и базовое понимание работы с базами данных;
(SQL можно изучить здесь) - базовое знание Python.
(Основы Python можно изучить здесь) - Умение запускать команды в Терминале/Командной строке