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

Настройка Materialize

Плагин, поддерживаемый поставщиком

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

  • Поддерживается: Materialize Inc.
  • Авторы: Materialize team
  • Репозиторий GitHub: MaterializeInc/materialize
  • Пакет PyPI: dbt-materialize
  • Канал в Slack: #db-materialize
  • Поддерживаемая версия dbt Core: v0.18.1 и новее
  • Поддержка dbt: Not Supported
  • Минимальная версия платформы данных: v0.28.0

Установка dbt-materialize

Установите адаптер с помощью pip. До версии 1.8 установка адаптера автоматически устанавливала dbt-core и любые дополнительные зависимости. Начиная с 1.8 установка адаптера не устанавливает dbt-core автоматически. Это потому, что версии адаптеров и dbt Core были развязаны, и мы больше не хотим перезаписывать существующие установки dbt-core. Используйте следующую команду для установки:

python -m pip install dbt-core dbt-materialize

Настройка dbt-materialize

Конфигурацию, специфичную для Materialize, см. на странице настроек Materialize.

Подключение к Materialize

После того как вы создали аккаунт Materialize, адаптируйте ваш profiles.yml для подключения к вашей инстанции, используя следующую конфигурацию профиля:

~/.dbt/profiles.yml
materialize:
target: dev
outputs:
dev:
type: materialize
host: [host]
port: [port]
user: [user@domain.com]
pass: [password]
dbname: [database]
cluster: [cluster] # по умолчанию 'default'
schema: [dbt schema]
sslmode: require
keepalives_idle: 0 # по умолчанию: 0, что означает системное значение по умолчанию
connect_timeout: 10 # по умолчанию: 10 секунд
retries: 1 # по умолчанию: 1, повтор при ошибке/тайм-ауте при открытии соединений

Конфигурации

cluster: По умолчанию используется кластер для поддержания материализованных представлений или индексов. default кластер предустановлен в каждой среде, но мы рекомендуем создавать выделенные кластеры для изоляции рабочих нагрузок в вашем проекте dbt (например, staging и data_mart).

keepalives_idle: Количество секунд перед отправкой ping‑сообщения, чтобы поддерживать активное соединение с Materialize. Если вы сталкиваетесь с ошибкой SSL SYSCALL error: EOF detected, возможно, стоит уменьшить значение keepalives_idle, чтобы предотвратить закрытие соединения со стороны базы данных.

Чтобы протестировать соединение с Materialize, выполните:

dbt debug

Если вывод гласит "All checks passed!", вы готовы к работе! Ознакомьтесь с руководством по dbt и Materialize, чтобы узнать больше и начать работу.

Поддерживаемые функции

Материализации

Поскольку Materialize оптимизирован для преобразований потоковых данных, а ядро dbt построено вокруг пакетной обработки, адаптер dbt-materialize реализует несколько пользовательских типов материализации:

ТипПоддерживается?Подробности
sourceДАСоздает источник.
viewДАСоздает представление.
materializedviewДАСоздает материализованное представление.
tableДАСоздает материализованное представление. (Поддержка реальных таблиц ожидается #5266)
sinkДАСоздает синк.
ephemeralДАВыполняет запросы с использованием CTE.
incrementalНЕТИспользуйте вместо этого materializedview materialization. Материализованные представления всегда будут возвращать актуальные результаты без ручных или настроенных обновлений. Для получения дополнительной информации ознакомьтесь с документацией Materialize.
Loading table...

Индексы

Материализованные представления (materializedview), представления (view) и источники (source) могут иметь список индексов.

Seeds

Запуск dbt seed создаст статическое материализованное view из CSV-файла. Вы не сможете добавить или обновить это представление после его создания.

Тесты

Запуск dbt test с опциональным флагом --store-failures или конфигурацией store_failures создаст материализованное представление для каждого настроенного теста, которое может отслеживать неудачи с течением времени.

Ресурсы

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

0
Loading