Data Science и аналитика

Учебник Data Engineering для начинающих

19 уроков · 6 разделов · бесплатно, без регистрации

Дата-инженер строит конвейеры, по которым данные текут от источников к аналитикам и моделям. Этот курс проведёт вас от базовых понятий (что такое ETL, зачем нужны хранилища, чем batch отличается от streaming) до практики оркестрации в Apache Airflow: DAG, операторы, расписания, зависимости через >>, backfill, идемпотентность и инкрементальная загрузка. Вы соберёте полный пайплайн «CSV → преобразование → база данных», научитесь валидировать данные и мониторить конвейеры. Курс рассчитан на тех, кто уже знает Python на базовом уровне и хочет войти в профессию data engineer.

Курс «Data Engineering: ETL и Airflow» состоит из 6 разделов и 19 уроков: Профессия и основы дата-инженерии, Хранение данных и форматы, Моделирование данных, Apache Airflow: основы оркестрации, Зависимости, backfill и идемпотентность и Практика: качество, ETL-пайплайн и эксплуатация. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

Программа курса

  1. 1 Профессия и основы дата-инженерии

    1. Кто такой data engineer и зачем он нужен

      Чем занимается дата-инженер, как его роль отличается от аналитика и ML-инженера, и почему без него ломаются данные в компании.

    2. ETL против ELT

      Чем ETL отличается от ELT, когда преобразовывать данные до загрузки, а когда после, и почему облачные хранилища сместили выбор в сторону ELT.

    3. Источники и приёмники данных

      Откуда берутся данные: базы, API, файлы, очереди. Куда они едут: хранилища, витрины, поисковые движки. Идемпотентные приёмники и upsert.

  2. 2 Хранение данных и форматы

    1. Batch против streaming

      Пакетная обработка против потоковой: чем отличаются, когда нужен реальный масштаб времени, окна, латентность и пропускная способность.

    2. Data lake, warehouse и lakehouse

      Чем озеро данных отличается от хранилища, что такое lakehouse, schema-on-read против schema-on-write, и где что хранить.

    3. Форматы данных: CSV, JSON, Parquet

      Текстовые форматы CSV и JSON против колоночного Parquet: построчное и колоночное хранение, сжатие, типы и почему аналитика любит Parquet.

  3. 3 Моделирование данных

    1. Схема звезды: факты и измерения

      Звёздная схема в хранилище: таблица фактов и таблицы измерений, зачем нужна денормализация и как это ускоряет аналитику.

    2. Партиционирование таблиц

      Партиционирование данных по дате: что это, зачем нужен partition pruning, как это ускоряет запросы и упрощает повторную загрузку.

    3. Нормализация против денормализации

      Нормализация для OLTP и денормализация для OLAP: когда дробить таблицы, а когда объединять, и почему аналитика выбирает плоские таблицы.

  4. 4 Apache Airflow: основы оркестрации

    1. Что такое оркестрация и Airflow

      Зачем нужна оркестрация конвейеров, что такое Apache Airflow, как он планирует и запускает задачи, и из чего состоит его архитектура.

    2. DAG, задачи и операторы

      Что такое DAG, чем task отличается от operator, какие бывают операторы в Airflow и как из них собирается граф конвейера.

    3. Первый DAG: расписание и параметры

      Как задать start_date, schedule и catchup в DAG Airflow, что такое логическая дата запуска и почему catchup так важен.

  5. 5 Зависимости, backfill и идемпотентность

    1. Зависимости задач: оператор сдвига

      Как задать порядок задач в Airflow через оператор сдвига, ветвление и fan-out/fan-in, и как читать стрелки зависимостей.

    2. Backfill: перезаливка истории

      Что такое backfill в Airflow, как перезапустить пайплайн за прошлые даты, чем он отличается от catchup и почему важна идемпотентность.

    3. Идемпотентность и повторные запуски

      Что такое идемпотентность пайплайна, почему повторный запуск не должен менять результат, и приёмы: перезапись партиций, upsert, delete-insert.

  6. 6 Практика: качество, ETL-пайплайн и эксплуатация

    1. Качество данных и валидация

      Зачем валидировать данные в конвейере, какие проверки бывают (схема, диапазоны, дубли, свежесть) и почему пайплайн должен падать на плохих данных.

    2. ETL-пайплайн: CSV в базу данных

      Полный пример ETL: извлечь CSV, преобразовать средствами Python, загрузить в таблицу через SQL. Соединяем Extract, Transform и Load в один пайплайн.

    3. Инкрементальная загрузка

      Инкрементальная загрузка вместо полной перезаливки: водяной знак (watermark), загрузка только новых данных и связь с идемпотентностью.

    4. Мониторинг и обзор инструментов

      Мониторинг пайплайнов: алерты, метрики, SLA. Обзор экосистемы: dbt, Spark и Kafka — что они решают и где про них узнать подробнее.

py
Курс по теме
Пройдите курс «Python с нуля» — по шагам, с проверкой
8 уроков · ~14 ч · теория, упражнения и экзамен с бейджем
Открыть курс →