Настройка материализаций
Настройка материализаций
Выбор материализации так же прост, как и установка любой другой конфигурации в dbt. Сначала мы рассмотрим, как выбрать материализации для отдельных моделей, а затем более мощные способы настройки материализаций для целых папок моделей.
Настройка таблиц и представлений
Давайте посмотрим, как мы можем использовать таблицы и представления для начала работы с материализациями:
- ⚙️ Мы м ожем настроить материализацию отдельной модели, используя Jinja-блок
config
и передав в него аргументmaterialized
. Это указывает dbt, какую материализацию использовать. - 🚰 Конкретные детали того, что выполняется, зависят от какого адаптера вы используете, но конечные результаты будут эквивалентны.
- 😌 Это один из многих ценных аспектов dbt: он позволяет нам использовать декларативный подход, указывая результат, который мы хотим получить в нашем коде, а не конкретные шаги для его достижения (последнее является императивным подходом, если вы хотите углубиться в компьютерные науки 🤓).
- 🔍 В приведенном ниже случае мы хотим создать SQL представление и можем задекларировать это в одной строке кода. Обратите внимание, что python-модели пока не поддерживают материализацию в виде представлений.
{{
config(
materialized='view'
)
}}
select ...
к сведению
🐍 Не все адаптеры пока поддерживают python, проверьте документацию здесь, чтобы быть уверенным, прежде чем тратить время на написание python-моделей.
- Настройка модели для материализации в виде
table
проста и возможна как для SQL, так и для python моделей.
- SQL
- Python
{{
config(
materialized='table'
)
}}
select ...
def model(dbt, session):
dbt.config(materialized="table")
# логика модели
return model_df
Попробуйте некоторые из этих примеров!
0