Data Build Tool для инженеров данных

Быстрое освоение CLI-инструмента для эффективных ETL-операций.
Как создать, настроить и использовать dbt-проект: подключение к базе данных, написание моделей, использование макросов и материализации, создание пользовательских макросов, запуск и тестирование dbt-моделей

О продукте:

В аналитике больших данных очень важно организовать эффективный, стабильный и надежный ETL-процесс, например, для загрузки данных в корпоративное хранилище или озеро. Реализовать такой ETL-конвейер можно с помощью специализированного инструмента dbt (Data Build Tool). Этот CLI-инструмент с открытым исходным кодом позволяет строить конвейеры преобразования данных со встроенной CI/CD-поддержкой и обеспечением качества, без фактической выгрузки исходных данных из источников.

DBT работает с теми данными, которые уже загружены в хранилище, компилируя SQL-запросы в код. Что важно для дата-инженера, dbt очень универсальный: он содержит адаптеры для всех распространенных хранилища данных. Поэтому можно переносить свои модели dbt для взаимодействия с другой СУБД, выполняя минимальную модификацию кода. А благодаря открытому исходному коду, в dbt можно добавлять свои собственные адаптеры. Так dbt позволяет быстро и удобно организовать различные задачи преобразования данных, чтобы запланировать их для запуска в автоматизированном и структурированном порядке.

Созданные пользователем dbt-модели запускаются через CLI-интерфейс и компилируются в SQL-запросы, абстрагируя материализацию в команды CREATE, INSERT, UPDATE, DELETE ALTER, GRANT и пр. Каждая SQL-модель включает SELECT-запрос, определяющий результат – итоговый набор данных. Скомпилированный SQL-код dbt-модели исполняется в хранилище в виде графа задач или направленный ациклический граф зависимостей. Если моделей несколько, dbt строит граф по конфигурациям всех моделей проекта, с учетом их взаимных ссылок друг на друга. Это позволяет запускать модели в нужной последовательности, выполняя конвейеры обработки данных и формируя витрины.

Кроме разработки самих моделей, dbt позволяет проверить предположения о результирующем наборе данных, включая тестирование уникальности, ссылочной целостности, соответствия списку допустимых значений. Также возможно добавление пользовательских тестов в виде SQL-запросов, например, для отслеживания % отклонения фактических показателей от заданных за конкретный период. Благодаря этому дата-инженер может найти в витринах данных нежелательные отклонения и ошибки.

Таким образом, dbt очень полезен в ежедневной работе инженера данных и умение эффективно использовать этот инструмент является полезной компетенцией современного инженера данных.

Аудитория:

  • Начинающие инженеры данных
  • Опытные дата-инженеры, которые хотят изучить dbt
  • Аналитики данных

Уровень подготовки:

  • Базовые знания SQL
  • Базовые знания Linux

О курсе:

Офлайн-обучение или онлайн-курс проходят в формате интерактивного семинара: даже в дистанционном режиме с вами занимается живой преподаватель — рассказывает теорию, дает практические задания и проверяет результаты выполнения. В качестве примеров рассматриваются реальные бизнес-кейсы и лучшие практики разработки высоконагруженных приложений для анализа больших данных

Продолжительность курса: 16 ак. часов (4 дня по 4 ак. часа)

Соотношение теории к практике: 50/50

Инструментальные средства: для практических занятий используются бесплатные среды для разработки и решения с открытым исходным кодом

Цель курса: освоить эффективные приемы использования CLI-инструмента dbt, чтобы легко создавать, организовывать и поддерживать процессы обработки данных в ETL/ELT-конвейерах в различных аналитических платформах

Программа курса «Data Build Tool для инженеров данных»

1. Общая информация

    • Введение в dbt
    • Основные концепции и принципы работы инструмента
    • Роль dbt в процессах обработки данных (ETL/ELT)

2. Инициализация проекта

    • Установка и настройка dbt
    • Создание нового проекта в dbt

3. Настройка проекта

    • Использование конфигурационных файлов
    • Управление проектом и зависимостями
    • Работа с переменными и параметрами проекта

4. Оркестрация Spark-приложений в Airflow

    • Создание и организация моделей данных
    • Использование SQL для трансформации и очистки данных
    • Обработка отношений между моделями

5. Конфиги и макросы

    • Использование конфигураций для моделей
    • Создание собственных макросов
    • Использование готовых макросов dbt для рутиных операций

6. Запуск моделей

    • Автоматизация процессов загрузки данных
    • Выполнение моделей и обновление результатов
    • Граф зависимостей моделей и их выполнение в правильной последовательности

7. Тесты

    • Проведение тестирования данных с помощью dbt
    • Создание и применение тестов для обеспечения корректности данных
    • Интеграция тестов в процесс разработки и обслуживания
Скачать программу курса «DBT: Data Build Tool для инженеров данных» в формате pdf

Укажите e-mail, на который будет оправлена ссылка для скачивания файла:

Чему вы научитесь:

В результате обучения вы приобретете базовые знания и навыки, необходимые для эффективного применения dbt в аналитике больших данных и организации ETL-конвейеров

  • Создавать и организовывать модели данных в dbt
  • Проводить трансформацию данных с помощью SQL и макросов
  • Работать с переменными, хуками и многими другими возможностями dbt
  • Создавать Spark-приложения
  • Использовать Spark SQL для анализа данных
  • Оркестрировать Spark-приложения в Airflow

Что Вы получите:

Окончив курс «Data Build Tool для инженеров данных» в нашем лицензированном учебном центре «Школа Больших Данных», вы получите сертификат установленного образца, который может засчитываться в качестве свидетельства о повышении квалификации.

Кто проводит курс

Темирханов Зелимхан
Российская академия народного хозяйства и государственной службы при президенте РФ, ЭМИТ, цифровая экономика
Профессиональные компетенции:
  • Организация ETL-конвейеров (Apache Airflow, Spark)
  • Старший разработчик (Axenix ex. Accenture) дата-инженер
  • Сопровождение, интеграция данных с помощью Apache Hadoop (Hdfs, Kafka, Spark, Hive)