Перейти к основному содержимому

Конфигурации источников

Доступные конфигурации

Общие конфигурации

Общие конфигурации предоставляют более широкие операционные настройки, применимые к нескольким типам ресурсов. Как и конфигурации, специфичные для ресурсов, они также могут быть заданы в файле проекта, файлах свойств или в файлах, специфичных для ресурсов.

dbt_project.yml

Настройка источников

Источники можно настраивать с помощью блока config: в их .yml-определениях или через файл dbt_project.yml в секции sources:. Такая конфигурация особенно полезна для настройки источников, импортированных из пакета.

Вы можете отключать источники, импортированные из пакета, чтобы они не отображались в документации или чтобы для таблиц источников, импортированных из пакетов, не запускались проверки свежести источников.

  • Примечание: Чтобы отключить таблицу источника, вложенную в properties YAML-файл в подкаталоге, необходимо указать путь к этому properties YAML-файлу с учетом подкаталогов, а также имя источника и имя таблицы в проектном YAML-файле (dbt_project.yml).

    В следующем примере показано, как отключить таблицу источника, вложенную в properties YAML-файл в подкаталоге:

    dbt_project.yml

Примеры

В следующих примерах показано, как настраивать источники в вашем dbt‑проекте.

Отключить все источники, импортированные из пакета
Условно включить один источник
Отключить один источник из пакета
Настроить источник с event_time
Настроить meta для источника
Настроить свежесть источника

Отключить все источники, импортированные из пакета

Чтобы применить конфигурацию ко всем источникам, подключенным из пакета, укажите эту конфигурацию под именем проекта в секции sources: как часть пути к ресурсу.

dbt_project.yml
sources:
events:
+enabled: false

Условно включить один источник

При определении источника вы можете отключить весь источник или отдельные таблицы источника, используя встроенное свойство config. Также можно указать database и schema, чтобы переопределить целевую базу данных и схему:

models/sources.yml

sources:
- name: my_source
database: raw
schema: my_schema
config:
enabled: true
tables:
- name: my_source_table # enabled
- name: ignore_this_one # not enabled
config:
enabled: false

Вы также можете настраивать отдельные таблицы источников и использовать переменные в качестве входных значений для этих конфигураций:

models/sources.yml

sources:
- name: my_source
tables:
- name: my_source_table
config:
enabled: "{{ var('my_source_table_enabled', false) }}"

Отключить один источник из пакета

Чтобы отключить конкретный источник из другого пакета, укажите путь к ресурсу в конфигурации, включив в него имя пакета и имя источника. В этом примере мы отключаем источник clickstream из пакета events.

dbt_project.yml
sources:
events:
clickstream:
+enabled: false

Аналогично, вы можете отключить конкретную таблицу источника, указав путь к ресурсу с именем пакета, именем источника и именем таблицы:

dbt_project.yml
sources:
events:
clickstream:
pageviews:
+enabled: false

Настроить источник с event_time

Настроить meta для источника

Используйте поле meta для назначения метаданных источникам. Это полезно для хранения дополнительного контекста, документации, логирования и других целей.

Например, вы можете добавить meta‑информацию к источнику clickstream, чтобы указать сведения о системе-источнике данных:

dbt_project.yml
sources:
events:
clickstream:
+meta:
source_system: "Google analytics"
data_owner: "marketing_team"

Настроить свежесть источника

Используйте блок freshness, чтобы задать ожидания по тому, как часто таблица обновляется новыми данными, и чтобы генерировать предупреждения и ошибки, если эти ожидания не выполняются.

dbt сравнивает наиболее свежую временную метку обновления, рассчитанную на основе колонки, метаданных хранилища или пользовательского запроса, с текущим временем в момент запуска проверки свежести.

Вы можете указать один или оба параметра warn_after и error_after. Если ни один из них не задан, dbt не будет рассчитывать снимки свежести для таблиц в этом источнике. Подробнее см. в разделе freshness.

Ниже приведен пример файла dbt_project.yml, использующего конфигурацию freshness:

dbt_project.yml
sources:
<resource-path>:
+freshness:
warn_after:
count: 4
period: hour

Пример конфигурации источника

Ниже приведен корректный пример конфигурации источников для проекта со следующими характеристиками:

  • name: jaffle_shop
  • Пакет events, содержащий несколько таблиц источников
dbt_project.yml
name: jaffle_shop
config-version: 2
...
sources:
# project names
jaffle_shop:
+enabled: true

events:
# source names
clickstream:
# table names
pageviews:
+enabled: false
link_clicks:
+enabled: true

Нашли ошибку?

0
Loading