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

begin

💡Did you know...
Available from dbt v1.9 or with the dbt "Latest" release track.

Определение

Установите конфигурацию begin в значение временной метки, с которой должны начинаться данные вашего инкрементального microbatch‑моделя — то есть в момент, когда данные становятся релевантными для microbatch‑модели.

Вы можете настроить begin для модели в YAML-файле проекта (dbt_project.yml), в YAML-файле свойств или в конфигурации SQL-файла. Значение begin должно быть строкой, представляющей дату в формате ISO, или дату и время, или относительные даты. Для более подробной информации ознакомьтесь с примерами в следующем разделе.

Примеры

Следующие примеры устанавливают 2024-01-01 00:00:00 в качестве конфигурации begin для модели user_sessions.

Пример в файле dbt_project.yml

dbt_project.yml
models:
my_project:
user_sessions:
+begin: "2024-01-01 00:00:00"

Пример в YAML-файле свойств

models/properties.yml
models:
- name: user_sessions
config:
begin: "2024-01-01 00:00:00"

Пример в блоке конфигурации SQL для модели

models/user_sessions.sql
{{ config(
begin='2024-01-01 00:00:00'
) }}

Установка begin с использованием относительных дат

Чтобы настроить begin с использованием относительных дат, вы можете использовать переменные модулей modules.datetime и modules.pytz, чтобы динамически задавать относительные временные метки, например дату вчерашнего дня или начало текущей недели.

Например, чтобы установить begin на дату вчерашнего дня:

{{
config(
materialized = 'incremental',
incremental_strategy='microbatch',
unique_key = 'run_id',
begin=(modules.datetime.datetime.now() - modules.datetime.timedelta(1)).isoformat(),
event_time='created_at',
batch_size='day',
)
}}

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

0
Loading