Перейти к основному содержимому

Участие в разработке адаптеров dbt

Сообщество dbt помогает специалистам по аналитике делиться знаниями, помогать друг другу и совместно развивать аналитическую инженерию. Здесь каждый может внести свой вклад — независимо от того, только ли вы начинаете свой путь в аналитической инженерии или уже обладаете большим опытом работы с данными.

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

Участие в разработке существующего адаптера​

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

  • Присоединитесь к специализированному каналу #adapter-ecosystem в dbt Slack, а также к каналу хранилища данных, для которого предназначен ваш адаптер. См. ссылку Slack Channel на страницах платформ dbt v1.
  • Просмотрите открытые issues в репозитории исходного кода плагина. Воспользуйтесь соответствующей ссылкой GitHub repo на страницах платформ dbt v1.

Создание нового адаптера v2​

v2 — это движок dbt, переписанный на Rust и построенный на основе единого монорепозитория. Вместо поддержки отдельного пакета Python для каждого хранилища данных все адаптеры находятся вместе в dbt-labs/dbt и сгруппированы по функциональным областям, а не по хранилищам. Исправление ошибки в аутентификации или логике работы с объектами базы данных приносит пользу сразу всем адаптерам, а ваш вклад укрепляет всю экосистему.

Драйверы ADBC отвечают за управление подключениями — это предварительно скомпилированные бинарные файлы, которые вы регистрируете, а не пишете самостоятельно. Вы разрабатываете логику, специфичную для хранилища данных: учётные данные, правила именования объектов базы данных, SQL-макросы и запросы к каталогу — всего примерно в 13 файлах.

Чтобы внести адаптер v2, нужно открыть pull request непосредственно в монорепозитории. Вы зарегистрируете своё хранилище данных в перечислении AdapterType, реализуете типы учётных данных и объектов базы данных на Rust, напишете макросы Jinja для своего диалекта SQL и настроите базовые интеграционные тесты с реальным хранилищем данных. Проверка полноты сопоставлений match компилятором Rust служит списком задач: каждый необработанный вариант вызывает ошибку компиляции, пока ваш адаптер не будет завершён. Пошаговые инструкции см. в руководстве Участие в разработке адаптера dbt v2.

Нашли ошибку?

0
Loading