require_fresh_data_from
- YAML-файл проекта
- YAML-файл свойств
- Конфигурация в SQL-файле
dbt_project.yml
models:
<resource-path>:
+state:
require_fresh_data_from: any | all
models/<filename>.yml
models:
- name: my_model
config:
state:
require_fresh_data_from: any | all
models/<filename>.sql
{{ config(
state={
"require_fresh_data_from": "any" | "all"
}
) }}
Определение
require_fresh_data_from определяет, сколько непосредственных родительских узлов должны иметь свежие данные, прежде чем dbt State сочтёт этот узел готовым к пересборке. Прежде чем фактически запустить пересборку, dbt State всё равно ищет объект для повторного использования.
| Значение | Поведение |
|---|---|
any (по умолчанию) | Узел становится готовым к пересборке, когда у любого непосредственного родительского узла появляются свежие данные. Пересборки выполняются чаще; затраты могут увеличиться. |
all | Узел становится готовым к пересборке, только когда у всех непосредственных родительских узлов появляются свежие данные. Пересборки выполняются реже; затраты снижаются. |
Значение по умолчанию
any
Примеры
Требовать свежие данные у всех родительских узлов
Используйте all для модели, которая объединяет несколько источников и должна пересобираться только после обновления каждой вышестоящей зависимости:
models/fct_orders.yml
models:
- name: fct_orders
config:
state:
require_fresh_data_from: all
Задать значение по умолчанию для всего проекта
dbt_project.yml
models:
+state:
require_fresh_data_from: all
Связанная документация
Нашли ошибку?
0