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

О команде dbt source

Команда dbt source предоставляет подкоманды, которые полезны при работе с исходными данными. Эта команда включает одну подкоманду — dbt source freshness.

dbt source freshness

Если ваш проект dbt настроен с источниками, то команда dbt source freshness выполнит запрос ко всем определенным исходным таблицам, определяя "свежесть" этих таблиц. Если таблицы устарели (на основе конфигурации freshness, указанной для ваших источников), то dbt сообщит предупреждение или ошибку соответственно. Если исходная находится в устаревшем состоянии, то dbt завершится с ненулевым кодом выхода.

Указание источников для снимка

По умолчанию dbt source freshness будет вычислять информацию о свежести для всех источников в вашем проекте. Чтобы сделать снимок свежести для подмножества этих источников, используйте флаг --select.

# Сделать снимок свежести для всех таблиц Snowplow:
$ dbt source freshness --select "source:snowplow"

# Сделать снимок свежести для конкретной исходной таблицы:
$ dbt source freshness --select "source:snowplow.event"

Настройка вывода свежести источников

Когда dbt source freshness завершится, файл с информацией о свежести ваших источников будет сохранен в target/sources.json. Пример sources.json будет выглядеть следующим образом:

target/sources.json
{
"meta": {
"generated_at": "2019-02-15T00:53:03.971126Z",
"elapsed_time": 0.21452808380126953
},
"sources": {
"source.project_name.source_name.table_name": {
"max_loaded_at": "2019-02-15T00:45:13.572836+00:00Z",
"snapshotted_at": "2019-02-15T00:53:03.880509+00:00Z",
"max_loaded_at_time_ago_in_s": 481.307673,
"state": "pass",
"criteria": {
"warn_after": {
"count": 12,
"period": "hour"
},
"error_after": {
"count": 1,
"period": "day"
}
}
}
}
}

Чтобы изменить место назначения для этого файла sources.json, используйте флаг -o (или --output):

# Вывести информацию о свежести источников в другой путь
$ dbt source freshness --output target/source_freshness.json

Использование свежести источников

Снимки свежести источников могут быть использованы для понимания:

  1. Если конкретный источник данных находится в задержанном состоянии
  2. Тренда свежести источников данных с течением времени

Эту команду можно запускать вручную, чтобы определить состояние свежести ваших исходных данных в любое время. Также рекомендуется запускать эту команду по расписанию, сохраняя результаты снимка свежести через регулярные интервалы. Эти продольные снимки позволят получать уведомления, когда нарушаются SLA свежести данных источников, а также понимать тренд свежести с течением времени.

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

0