begin
begin
마이크로배치 증분 모델의 데이터가 시작되어야 하는 타임스탬프를 설정하는 설정이에요. 데이터가 마이크로배치 모델에 의미 있게 되는 시점을 지정해요.
💡 알아두세요: dbt v1.9부터, 또는 dbt "v1 Latest" 릴리스 트랙에서 사용 가능해요.
출처: 문서
본문
정의 (Definition)
begin 설정을 마이크로배치 증분 모델 데이터가 시작되어야 하는 타임스탬프 값으로 설정해요 — 데이터가 마이크로배치 모델에 의미 있게 되는 시점이에요.
프로젝트 YAML 파일(dbt_project.yml), property YAML 파일, SQL 파일 config에서 모델의 begin을 설정할 수 있어요. begin 값은 ISO 형식의 날짜, 날짜·시간, 또는 상대 날짜(relative dates)를 나타내는 문자열이어야 해요. 자세한 내용은 다음 섹션의 예시를 확인하세요.
예시 (Examples)
다음 예시들은 user_sessions 모델의 begin 설정을 2024-01-01 00:00:00으로 설정해요.
dbt_project.yml 파일 예시
dbt_project.yml:
models:
my_project:
user_sessions:
+begin: "2024-01-01 00:00:00"
property YAML 파일 예시
models/properties.yml:
models:
- name: user_sessions
config:
begin: "2024-01-01 00:00:00"
모델 SQL config 블록 예시
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',
)
}}
더 알아보기 (Learn more)
begin은 마이크로배치 증분 전략과 함께 쓰이며event_time에 정의된 시점부터 데이터를 처리하기 시작해요.- 증분 모델 및 전략에 대한 자세한 내용은 Incremental models 문서를 참고하세요.