단일 테스트 생성

중급 dbt

Mike Metzger

Data Engineer

단일 테스트란?

  • 사용자 지정 데이터 테스트
  • SQL 쿼리로 작성
    • 실패 행을 반환해야 함
  • tests 디렉터리의 .sql 파일로 정의

테스트 이미지

1 Photo by Antoine Dautry on Unsplash
중급 dbt

단일 테스트 예시

  • 다음을 검증하는 테스트 생성:
    • order_total >= subtotal
select *
from order
where order_total < subtotal
  • 반드시 기억: 행이 반환되면 실패입니다. 테스트는 실패 행을 반환해야 합니다.
  • 파일명을 assert_order_total_gte_subtotal.sql로 저장

order_table 스키마 다이어그램

중급 dbt

Jinja를 사용한 단일 테스트

  • 테스트에서 Jinja를 사용할 수 있음
    • ref 함수
    • 필요 시 기타 함수
  • 테스트 실행 시 dbt가 결과로 치환함
    • dbt 프로필이 바뀌면 프로젝트를 다시 실행
select *
from {{ ref('order') }}
where order_total < subtotal
중급 dbt

테스트 디버깅

  • SQL 에디터로 초기 테스트 쿼리 작성
  • 적절한 파일에 쿼리 저장
  • 테스트 이름을 고유하게 지정
  • dbt test --select <testname> 옵션 사용
  • 오류를 확인하고 수정
중급 dbt

Ayo berlatih!

중급 dbt

Preparing Video For Download...