# require\_fresh\_data\_from

### YAML-файл проекта

dbt\_project.yml

```yaml
models:
  <resource-path>:
    +state:
      require_fresh_data_from: any | all
```

### YAML-файл свойств

models/\<filename>.yml

```yaml
models:
  - name: my_model
    config:
      state:
        require_fresh_data_from: any | all
```

### Конфигурация в SQL-файле

models/\<filename>.sql

```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

```yaml
models:
  - name: fct_orders
    config:
      state:
        require_fresh_data_from: all
```

### Задать значение по умолчанию для всего проекта

dbt\_project.yml

```yaml
models:
  +state:
    require_fresh_data_from: all
```

## Связанная документация

* [О dbt State](https://docs.getdbt.tech/docs/deploy/dbt-state-about.md)
* [Настройка dbt State](https://docs.getdbt.tech/docs/deploy/dbt-state-setup.md)
