Настройка Materialize
Некоторая основная функциональность может отличаться. Если вы хотите сообщить об ошибке, запросить функцию или внести свой вклад, вы можете посетить связанный репозиторий и открыть задачу.
- Поддерживается: Materialize Inc.
- Авторы: Materialize team
- Репозиторий на GitHub: MaterializeInc/materialize
- Пакет на PyPI:
dbt-materialize
- Канал в Slack: #db-materialize
- Поддерживаемая версия dbt Core: v0.18.1 и новее
- Поддержка dbt Cloud: Not Supported
- Минимальная версия платформы данных: v0.28.0
Установка dbt-materialize
Используйте pip
для установки адаптера. До версии 1.8 установка адаптера автоматически устанавливала dbt-core
и любые дополнительные зависимости. Начиная с версии 1.8, установка адаптера не устанавливает автоматически dbt-core
. Это связано с тем, что адаптеры и версии dbt Core были разделены, и мы больше не хотим перезаписывать существующие установки dbt-core.
Используйте следующую команду для установки:
Конфигурация 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-файла. Вы не сможете добавить или обновить это представление после его создания.