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 or relative dates. Check out the examples in the next section for more details.

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

Set begin to use relative dates

To configure begin to use relative dates, you can use modules variables 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',
)
}}
0