Data Engineering

dbt - 고급 기능

Jinja 매크로, 커스텀 테스트, 패키지, 훅, 스냅샷 (SCD), incremental models, dbt Cloud, CI/CD

20 면접 질문·
Senior
1

dbt에서 Jinja 매크로의 주요 목적은 무엇입니까?

답변

Jinja 매크로는 여러 dbt 모델에서 코드 재사용을 가능하게 합니다. 매개변수를 받아 동적으로 생성된 SQL 코드를 반환하는 함수처럼 작동합니다. 이를 통해 코드 중복을 피하고 프로젝트 전반에 걸쳐 복잡한 변환을 더 쉽게 유지 관리할 수 있습니다.

2

파일에서 재사용 가능한 dbt 매크로를 정의하는 방법은 무엇입니까?

답변

dbt 매크로는 macros 폴더 내의 .sql 파일에서 Jinja macro/endmacro 구문을 사용하여 정의됩니다. 매크로 이름은 macro 키워드 뒤에 지정하고, 매개변수는 괄호 안에 작성합니다. 이 매크로는 프로젝트의 모든 모델에서 호출할 수 있습니다.

3

dbt 스냅샷의 'timestamp'와 'check' 전략의 차이점은 무엇입니까?

답변

timestamp 전략은 업데이트 날짜 열(updated_at)을 비교하여 변경 사항을 감지하며, 단일 열만 비교하므로 성능이 더 좋습니다. check 전략은 지정된 열(check_cols)의 값을 비교하여 모든 변경 사항을 감지하며, 신뢰할 수 있는 timestamp 열이 없을 때 유용합니다.

4

스냅샷을 생성할 때 dbt가 자동으로 추가하는 열은 무엇입니까?

5

dbt에서 'merge' 전략으로 incremental 모델을 구성하는 방법은 무엇입니까?

+17 면접 질문

다음 면접을 위해 Data Engineering을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기