고급 설정 사용법
고급 설정 사용법
dbt 모델 안에서 설정(config)을 지정할 때, 일반적인 config 구문으로 처리할 수 없는 특수한 상황이 있어요. 특히 하이픈(-)처럼 Jinja 인자로 파싱되지 않는 문자가 포함된 설정을 다룰 때 유용한 대체 구문을 살펴봐요.
출처: 문서
본문
SQL 파일에서의 대체 config 구문
일부 설정에는 Jinja 인자로 파싱할 수 없는 문자(예: 하이픈)가 포함될 수 있어요. 예를 들어 다음은 오류를 반환할 거예요:
{{ config(
post-hook="grant select on {{ this }} to role reporter",
materialized='table'
) }}
select ...
dbt는 핵심(core) 설정마다 별칭(alias)을 제공하지만(예: config 블록 안에서는 pre-hook 대신 pre_hook을 써야 해요), 여러분의 dbt 프로젝트에는 별칭이 없는 커스텀 설정이 있을 수 있어요.
이런 설정을 모델 안에서 지정하고 싶다면, 아래처럼 대체 config 블록 구문을 사용하면 돼요:
models/events/base/base_events.sql
{{
config({
"post-hook": "grant select on {{ this }} to role reporter",
"materialized": "table"
})
}}
select ...