리소스 경로
리소스 경로 (Resource path)
<resource-path> 표기는 문서에서 dbt_project.yml 파일로 모델, 시드, 스냅샷, 테스트, 소스 같은 리소스 유형을 구성하는 방법을 설명할 때 쓰여요. 중첩된 딕셔너리 키로, 그 리소스 유형의 디렉터리나 이름으로 된 단일 인스턴스에 이르는 경로를 나타내요.
출처: dbt 공식 문서
본문
이 표기는 그 리소스 유형의 디렉터리 또는 이름으로 된 그 리소스 유형의 단일 인스턴스에 이르는 경로를 제공하는 중첩된 딕셔너리 키들이에요.
resource_type:
project_name:
directory_name:
subdirectory_name:
instance_of_resource_type (by name):
...
예시
다음 예시들은 대부분 모델과 소스에 대한 것이지만, 같은 개념이 시드, 스냅샷, 테스트, 소스와 다른 리소스 유형에도 적용돼요.
모든 모델에 설정 적용
모든 모델에 설정을 적용하려면 <resource-path>를 사용하지 마세요.
dbt_project.yml
models:
+enabled: false # this will disable all models (not a thing you probably want to do)
여러분 프로젝트의 모든 모델에 설정 적용
여러분 프로젝트의 모든 모델에만 설정을 적용하려면 프로젝트 이름을 <resource-path>로 사용해요.
dbt_project.yml
name: jaffle_shop
models:
jaffle_shop:
+enabled: false # this will apply to all models in your project, but not any installed packages
서브디렉터리의 모든 모델에 설정 적용
프로젝트의 서브디렉터리(예: staging)의 모든 모델에 설정을 적용하려면, 프로젝트 이름 아래에 디렉터리를 중첩해요.
dbt_project.yml
name: jaffle_shop
models:
jaffle_shop:
staging:
+enabled: false # this will apply to all models in the `staging/` directory of your project
다음 프로젝트에서는 이 설정이 staging/ 디렉터리의 모델에 적용되지만 marts/ 디렉터리에는 적용되지 않아요.
.
├── dbt_project.yml
└── models
├── marts
└── staging
특정 모델에 설정 적용
특정 모델에 설정을 적용하려면 프로젝트 이름 아래에 전체 경로를 중첩해요. /staging/stripe/payments.sql에 있는 모델의 경우:
dbt_project.yml
name: jaffle_shop
models:
jaffle_shop:
staging:
stripe:
payments:
+enabled: false # this will apply to only one model
다음 프로젝트에서는 이 설정이 payments 모델에만 적용돼요.
.
├── dbt_project.yml
└── models
├── marts
│ └── core
│ ├── dim_customers.sql
│ └── fct_orders.sql
└── staging
├── jaffle_shop
│ ├── customers.sql
│ └── orders.sql
└── stripe
└── payments.sql
서브폴더에 중첩된 소스에 설정 적용
서브폴더의 YAML 파일에 중첩된 소스 테이블을 비활성화하려면, dbt_project.yml 파일에서 해당 YAML 파일로 가는 경로 안의 서브폴더(들), 소스 이름, 그리고 테이블 이름을 모두 제공해야 해요.
다음 예시는 서브폴더의 YAML 파일에 중첩된 소스 테이블을 비활성화하는 방법을 보여줘요.
dbt_project.yml
sources:
your_project_name:
subdirectory_name:
source_name:
source_table_name:
+enabled: false
더 알아보기 (Learn more)
- dbt_project.yml 설정 — 프로젝트 파일 작성 방법
- + 접두사 — 리소스 경로와 설정 구분하기