begin
Определение
Установите конфигурацию begin в значение временной метки, с которой должны начинаться данные вашего инкрементального microbatch‑моделя — то есть в момент, когда данные становятся релевантными для microbatch‑модели.
Вы можете настроить begin для модели в YAML-файле проекта (dbt_project.yml), в YAML-файле свойств или в конфигурации SQL-файла. Значение begin должно быть строкой, представляющей дату в формате ISO, или дату и время, или относительные даты. Для более подробной информации ознакомьтесь с примерами в следующем разделе.
Примеры
Следующие примеры устанавливают 2024-01-01 00:00:00 в качестве конфигурации begin для модели user_sessions.
Пример в файле dbt_project.yml
models:
my_project:
user_sessions:
+begin: "2024-01-01 00:00:00"
Пример в YAML-файле свойств
models:
- name: user_sessions
config:
begin: "2024-01-01 00:00:00"
Пример в блоке конфигурации 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',
)
}}