materialized
- YAML-файл проекта
- YAML-файл свойств
- Конфигурация в SQL-файле
dbt_project.yml
config-version: 2
models:
<resource-path>:
+materialized: <materialization_name>
models/properties.yml
models:
- name: <model_name>
config:
materialized: <materialization_name>
models/<model_name>.sql
{{ config(
materialized="<materialization_name>"
) }}
select ...
Определение
Материализации — это стратегии для сохранения моделей dbt в хранилище данных. Вот типы материализаций, встроенные в dbt:
ephemeral— временные модели не создаются напрямую в базе данныхtable— модель пересоздается как таблица при каждом запускеview— модель пересоздается как представление при каждом запускеmaterialized_view— позволяет создавать и поддерживать материализованные представления в целевой базе данныхincremental— инкрементные модели позволяют dbt вставлять или обновлять записи в таблице с момента последнего запуска этой модели
Вы также можете настроить пользовательские материализации в dbt. Пользовательские материализации — это мощный способ расширить функциональность dbt для удовлетворения ваших специфических потребностей.
Приоритет создания
Материализации реализуются, следуя этому жизненному циклу "падения":
- Если модель не существует по указанному пути, создайте новую модель.
- Если модель существует, но имеет другой тип, удалите существующую модель и создайте новую.
- Если указан параметр
--full-refresh, замените существующую модель независимо от изменений конфигурации и настройкиon_configuration_change. - Если изменений конфигурации нет, выполните действие по умолчанию для этого типа (например, примените обновление для материализованного представления).
- Определите, следует ли применять изменения конфигурации в соответствии с настройкой
on_configuration_change.
Нашли ошибку?
0