Настройка материализаций
Настройка материализаций
Выбор материализации так же прост, как и установка любой другой конфигурации в dbt. Сначала мы рассмотрим, как выбрать материализации для отдельных моделей, а затем более мощные способы настройки материализаций для целых папок моделей.
Настройка таблиц и представлений
Давайте посмотрим, как мы можем использовать таблицы и представления для начала работы с материализациями:
- ⚙️ Мы можем настроить материализацию отдельной модели с помощью Jinja-блока
config, передав в него аргументmaterialized. Таким образом мы сообщаем dbt, какую материализацию следует использовать. - 🚰 Конкретные детали того, что именно будет выполнено, зависят от того, какой adapter вы используете, однако конечный результат будет эквивалентным.
- 😌 Это один из многих ценных аспектов dbt: он позволяет использовать декларативный подход, когда в коде мы описываем желаемый результат, а не конкретные шаги для его достижения (последнее — это императивный подход, если выражаться более «компьютерно-научно» 🤓).
- 🔍 В приведённом ниже случае мы хотим создать SQL view и можем задекларировать это одной строкой кода. Обратите внимание, что Python-модели в настоящее время не поддерживают материализацию в виде view.
{{
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