리소스 유형
리소스 유형 (Resource type)
--resource-type과 --exclude-resource-type 플래그는 dbt build, dbt clone, dbt test, dbt list 명령에서 리소스 유형을 포함하거나 제외해요. 특정 리소스가 아니라 리소스 유형 전체를 대상으로 할 때 유용해요.
출처: 문서
본문
(dbt v1.9 이상) --resource-type 및 --exclude-resource-type 플래그는 dbt build, dbt clone, dbt test, dbt list 명령에서 리소스 유형을 포함하거나 제외해요.
dbt test로 테스트 유형 필터링
test_type 셀렉터를 사용해 dbt test로 테스트 유형을 필터링할 수 있어요 — 이 방식은 모든 엔진에서 동작해요:
dbt test --select test_type:unit— 단위 테스트만 실행dbt test --select test_type:data— 데이터 테스트만 실행
dbt v1.9+를 사용 중이라면 --resource-type도 사용할 수 있어요:
dbt test --resource-type unit_test— 단위 테스트만 실행dbt test --resource-type test— 데이터 테스트만 실행
더 많은 예시는 test selection examples를 참고하세요.
이 플래그들은 특정 리소스를 대상으로 하는 대신, 명령을 실행할 때 포함하거나 제외할 리소스 유형을 지정할 수 있게 해줘요.
참고 —
--exclude-resource-type플래그는 dbt 버전 1.8 이상에서만 사용할 수 있어요. 이전 버전을 사용 중이라면 이 플래그를 사용할 수 없어요.
사용 가능한 리소스 유형은 다음과 같아요 (dbt v1.11 이상):
- analysis
- exposure
- function
- metric
- model
- saved_query
- seed
- semantic_model
- snapshot
- source
- test
- unit_test
긍정 필터 vs 부정 필터 (Positive vs negative filters)
--resource-type은 긍정 필터예요 — dbt는 명령에서 선택한 리소스 유형만 실행하고 나머지 유형은 암시적으로 건너뛰어요.--exclude-resource-type은 부정 필터예요 — dbt는 전체 리소스 유형 카탈로그에서 시작해 명령에서 선택한 유형을 제외해요. dbt는 그 리소스 유형들을 제외한 모든 것을 실행해요.
한 명령에서 두 플래그를 모두 사용할 수 있어요. dbt는 먼저 긍정 필터(--resource-type)를 적용한 다음 부정 필터(--exclude-resource-type)에 나열된 유형을 제거해요. 예를 들어:
dbt build --resource-type model test snapshot --exclude-resource-type snapshot
dbt 리소스 유형 목록은 상호 배타적이면서 집합적으로 완전한(MECE) 목록이에요. 즉, 어떤 --resource-type 선택도 --exclude-resource-type으로 다른 리소스 유형을 제외함으로써 동일하게 달성할 수 있고, 그 반대도 마찬가지예요.
예시 (Examples)
특정 리소스를 대상으로 하는 대신 --resource-type 또는 --exclude-resource-type 플래그를 사용해 특정 유형의 모든 리소스를 대상으로 해요: dbt build --resource-type RESOURCE_TYPE, 여기서 RESOURCE_TYPE을 포함하려는 리소스 유형으로 바꿔요.
다음은 리소스 유형을 포함하거나 제외하는 샘플 명령들이에요. --exclude-resource-type 플래그는 dbt 버전 1.8 이상에서만 사용할 수 있음을 참고하세요.
리소스 유형 포함 (Include resource types)
여러 리소스 유형 포함 — 데이터 테스트와 모델 같은 여러 리소스 유형을 빌드 프로세스에 포함하려면:
Usage
dbt build --resource-type test model
모든 스냅샷 포함 — dbt build 프로세스에 스냅샷만 포함하려면:
Usage
dbt build --resource-type snapshot
모든 저장된 쿼리 포함 — --resource-type 플래그로 저장된 쿼리만 포함하려면:
Usage
dbt build --resource-type saved_query
모든 데이터 테스트 포함 — 빌드 프로세스에 데이터 테스트만 포함하려면:
Usage
dbt build --resource-type test
테스트 중 데이터 테스트만 포함 (dbt v1.9 이상) — dbt test 사용 시 단위 테스트를 제외하고 데이터 테스트만 실행하려면 test_type 셀렉터를 사용해요:
Usage
dbt test --select test_type:data -- dbt v1 and dbt v2
dbt test --resource-type test -- dbt v1 only
리소스 유형 제외 (Exclude resource types)
여러 리소스 유형 제외 — 빌드 프로세스에서 데이터 테스트와 모델 같은 여러 리소스 유형을 제외하려면:
Usage
dbt build --exclude-resource-type test model
모든 단위 테스트 제외 — dbt build 프로세스에서 단위 테스트를 제외하려면:
Usage
dbt build --exclude-resource-type unit_test
테스트 중 단위 테스트 제외 (dbt v1.9 이상) — dbt test 사용 시 단위 테스트를 제외하려면 test_type 셀렉터로 데이터 테스트만 실행해요:
Usage
dbt test --select test_type:data -- dbt v1 and dbt v2
dbt test --exclude-resource-type unit_test -- dbt v1 only
더 알아보기 (Learn more)
- Test selection examples — 테스트 선택 및 test_type 셀렉터 예시
- About global configs — 전역 구성