Создание конвейеров с помощью dlt-meta

Проект dlt-meta из Databricks Labs предоставляет средства для создания конвейеров из метаданных, которые вы поддерживаете.

Замечание

Проект dlt-meta с открытым кодом, как и все проекты в учетной записи GitHub databrickslabs, существует только для целей изучения. Azure Databricks не поддерживает его или предоставляет соглашения об уровне обслуживания (SLA) для него. Не отправляйте запросы в службу поддержки Azure Databricks для проблем, связанных с этим проектом. Вместо этого создайте GitHub issue, который будет рассмотрен по мере возможности.

Что такое dlt-meta?

Конвейеры Lakeflow позволяют декларативно указывать таблицу и генерировать поток в конвейере, который создает таблицу и сохраняет его в актуальном состоянии при изменении исходных данных. Однако если в вашей организации есть сотни таблиц, создание и управление этими конвейерами занимает много времени и может привести к несогласованным методикам.

Проект dlt-meta — это платформа метапрограммирования на основе метаданных, предназначенная для работы с конвейерами Lakeflow. Эта платформа обеспечивает автоматизацию конвейеров бронзовых и серебряных данных путем использования метаданных, записанных в наборе файлов JSON и YAML. Модуль dlt-meta использует код Python для динамического создания кода конвейера для потоков, описанных в метаданных. Вы создаете метаданные о конвейерах, а dlt-meta создает конвейеры.

Благодаря тому, что вся логика централизована в одном месте — в метаданных, ваша система работает быстрее, её можно повторно использовать, и её легче поддерживать.

Замечание

Проект dlt-meta был назван для более старой функции Delta Live Tables в Azure Databricks. Delta Live Tables были заменены на конвейеры Lakeflow, а dlt-meta работает с конвейерами Lakeflow.

Преимущества dlt-meta

Существует два основных варианта использования dlt-meta:

  • Легко загружайте и очищайте большое количество таблиц.
  • Обеспечьте соблюдение стандартов проектирования и обработки данных в нескольких конвейерах и для разных пользователей.

Преимущества использования подхода на основе метаданных:

  • Обслуживание метаданных можно сделать без знания кода Python или SQL.
  • Обслуживание метаданных, а не кода, требует меньше накладных расходов и уменьшает ошибки.
  • Код создается dlt-meta, поэтому он остается согласованным и имеет меньше пользовательского кода в конвейерах и опубликованных таблицах.
  • Таблицы можно легко группировать в конвейеры в метаданных, создавая количество конвейеров, необходимых для наиболее эффективного обновления данных.

Как работает dlt-meta

На следующем рисунке показан обзор системы dlt-meta:

Обзор dlt-meta

  1. Файлы метаданных создаются в качестве входных данных для dlt-meta, чтобы указать исходные файлы и выходные данные, правила качества и необходимую обработку.
  2. Подсистема dlt-meta компилирует файлы подключения в спецификацию потока данных с именем DataflowSpec и сохраняет его для последующего использования.
  3. Модуль dlt-meta использует DataflowSpec для создания конвейеров, которые генерируют ваши таблицы bronze. Это использует файлы метаданных для чтения исходных данных и применения правильных ожиданий данных в соответствии с правилами качества.
  4. Затем модуль dlt-meta использует DataflowSpec для создания дополнительных конвейеров, которые создают ваши таблицы Silver. В этом случае файлы метаданных используются для применения соответствующих преобразований и другой обработки для системы.

Вы запускаете конвейеры, созданные dlt-meta, чтобы поддерживать выходные данные в актуальном состоянии по мере обновления исходных данных.

Начало работы

Чтобы использовать dlt-meta, необходимо:

  • Разверните и настройте решение dlt-meta.
  • Подготовьте метаданные для таблиц бронзового и серебряного слоя.
  • Создайте задание для подключения метаданных.
  • Используйте метаданные для создания конвейеров для таблиц.

В документации по dlt-meta на GitHub есть учебник, который поможет вам приступить к работе с этим процессом. Дополнительные сведения см. в статье о начале работы с dlt-meta на GitHub.

Дополнительные ресурсы