alias
alias
모델, 데이터 테스트, 스냅샷, seed에 사용자 정의 별칭을 지정해 데이터베이스에서 더 친숙한 이름을 부여하는 설정이에요.
출처: 문서
본문
모델, 데이터 테스트, 스냅샷, seed에 사용자 정의 별칭을 지정해 데이터베이스에서 더 친숙한 이름을 부여해요.
모델 별칭 (Models)
프로젝트 YAML 파일(dbt_project.yml), property YAML 파일(예: models/properties.yml) config, 또는 SQL 파일 config 블록에서 모델의 사용자 정의 별칭을 지정해요.
예를 들어 sales_total을 계산하는 모델이 있고 더 친숙한 별칭을 주고 싶다면 다음 예시처럼 별칭을 지정할 수 있어요.
프로젝트 레벨에서 sales_total 모델의 기본 별칭을 설정하는 dbt_project.yml 예시:
dbt_project.yml:
models:
your_project:
sales_total:
+alias: sales_dashboard
중앙 집중식 구성에 유용한 models/properties.yml 파일 메타데이터에 별칭을 지정하는 예시:
models/properties.yml:
models:
- name: sales_total
config:
alias: sales_dashboard
models/sales_total.sql 파일에서 직접 별칭을 지정하는 예시:
models/sales_total.sql:
{{ config(
alias = "sales_dashboard"
) }}
그러면 데이터베이스에서 기본값 analytics.finance.sales_total 대신 analytics.finance.sales_dashboard가 반환돼요.
Seed 별칭 (Seeds)
프로젝트 파일(dbt_project.yml)이나 property 파일 config(예: seeds/properties.yml)에서 seed의 별칭을 구성해요. product_categories라는 seed를 categories_data로 별칭 지정하는 예시예요.
프로젝트 레벨 dbt_project.yml에서:
dbt_project.yml:
seeds:
your_project:
product_categories:
+alias: categories_data
seeds/properties.yml 파일에서:
seeds/properties.yml:
seeds:
- name: product_categories
config:
alias: categories_data
이렇게 하면 데이터베이스에서 analytics.finance.categories_data라는 이름이 반환돼요.
두 번째 예시로, seeds/country_codes.csv에 있는 seed는 country_mappings라는 이름의 테이블로 빌드돼요.
dbt_project.yml:
seeds:
jaffle_shop:
country_codes:
+alias: country_mappings
스냅샷 별칭 (Snapshots)
프로젝트 YAML 파일(dbt_project.yml), property YAML 파일(예: snapshots/snapshot_name.yml), 또는 모델 SQL 파일 config 블록에서 스냅샷의 별칭을 구성해요. your_snapshot이라는 스냅샷을 the_best_snapshot으로 별칭 지정하는 예시예요.
프로젝트 레벨 dbt_project.yml에서:
dbt_project.yml:
snapshots:
your_project:
your_snapshot:
+alias: the_best_snapshot
snapshots/snapshot_name.yml 파일에서:
snapshots/snapshot_name.yml:
snapshots:
- name: your_snapshot_name
config:
alias: the_best_snapshot
snapshots/your_snapshot.sql 파일에서:
snapshots/your_snapshot.sql:
{{ config(
alias = "the_best_snapshot"
) }}
이렇게 하면 데이터베이스에서 analytics.finance.the_best_snapshot으로 스냅샷이 빌드돼요.
데이터 테스트 별칭 (Data tests)
프로젝트 YAML 파일(dbt_project.yml), property YAML 파일(예: models/properties.yml), 또는 모델 SQL 파일 config 블록에서 데이터 테스트의 별칭을 구성해요. order_id라는 unique 데이터 테스트를 unique_order_id_test로 별칭 지정하는 예시예요.
available in v1.10.5 and higher. Older versions can set the <argument_name> as the top-level property.
tests/unique_order_id_test.sql 파일에서:
tests/unique_order_id_test.sql:
{{ config(
alias = "unique_order_id_test",
severity = "error"
) }}
store_failures_as를 사용하면 데이터베이스에서 analytics.dbt_test__audit.orders_order_id_unique_order_id_test라는 이름이 반환돼요.
정의 (Definition)
모델, 데이터 테스트, 스냅샷, seed에 사용자 정의 별칭을 선택 사항으로 지정해요. dbt가 데이터베이스에 relation(table/view)을 만들 때 {{ database }}.{{ schema }}.{{ identifier }} 형태, 예를 들어 analytics.finance.payments로 생성해요.
dbt의 기본 동작은 다음과 같아요:
- 사용자 정의 별칭이 지정되지 않으면 relation의 identifier는 리소스 이름(즉 파일 이름)이 돼요.
- 사용자 정의 별칭이 지정되면 relation의 identifier는
{{ alias }}값이 돼요.
참고: ephemeral 모델에서는 dbt가 항상 CTE identifier에 __dbt__cte__ 접두사를 적용해요. 즉 ephemeral 모델에 별칭이 설정되면 CTE identifier는 __dbt__cte__{{ alias }}가 되고, 별칭이 없으면 __dbt__cte__{{ filename }}이 돼요.
더 알아보기 (Learn more)
- relation의 identifier 생성 방식을 변경하는 방법에 대한 자세한 내용은 Using Aliases 문서를 참고하세요.
- 리소스 설정 전체 목록은 Resource configurations 문서를 참고하세요.