Подключение Materialize к dbt v1
Некоторая основная функциональность может отличаться. Если вы хотите сообщить об ошибке, запросить функцию или внести свой вклад, вы можете посетить связанный репозиторий и открыть задачу.
- Поддерживается: Materialize Inc.
- Авторы: Materialize team
- Репозиторий GitHub: MaterializeInc/materialize
- Пакет PyPI:
dbt-materialize - Канал Slack: #db-materialize
- Поддерживаемая версия dbt: v0.18.1 и новее
- Поддержка dbt: Not Supported
- Минимальная версия платформы данных: v0.28.0
Установка dbt-materialize
Установите адаптер с помощью `pip`:python -m pip install dbt-materialize
Настройка dbt-materialize
Конфигурацию, специфичную для Materialize, см. на странице настроек Materialize.
Подключение к Materialize
После того как вы создали аккаунт Materialize, адаптируйте ваш 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: Количество секунд до отправки пинга для поддержания активного соединения с 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 материализация. Материализованные представления всегда будут возвращать актуальные результаты без ручных или настроенных обновлений. Для получения дополнительной информации ознакомьтесь с документацией Materialize. |
Индексы
Материализованные представления (materializedview), представления (view) и источники (source) могут иметь список индексов.
Seeds
Запуск dbt seed создаст статическое материализованное представление из CSV-файла. Вы не сможете добавить или обновить это представление после его создания.
Тесты
Запуск dbt test с опциональным флагом --store-failures или конфигурацией store_failures создаст материализованное представление для каждого настроенного теста, которое может отслеживать неудачи с течением времени.