Skip to main content

begin

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

Definition

Set the begin config to the timestamp value at which your microbatch incremental model data should begin — at the point the data becomes relevant for the microbatch model. You can configure begin for a model in your dbt_project.yml file, property YAML file, or config block. The value for begin must be a string representing an ISO-formatted date or date and time.

Set begin to use relative dates

If you'd like to configure begin to use relative dates, you can use modules.datetime and modules.pytz to dynamically specify relative timestamps, such as yesterday's date or the start of the current week.

For example, to set begin to yesterday's date:

{{
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',
)
}}

Examples

The following examples set 2024-01-01 00:00:00 as the begin config for the user_sessions model.

Example in the dbt_project.yml file:

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

Example in a properties YAML file:

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

Example in sql model config block:

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