
dbt - 고급 기능
Jinja 매크로, 커스텀 테스트, 패키지, 훅, 스냅샷 (SCD), incremental models, dbt Cloud, CI/CD
20 면접 질문·
Senior
1dbt에서 Jinja 매크로의 주요 목적은 무엇입니까?
1
dbt에서 Jinja 매크로의 주요 목적은 무엇입니까?
답변
Jinja 매크로는 여러 dbt 모델에서 코드 재사용을 가능하게 합니다. 매개변수를 받아 동적으로 생성된 SQL 코드를 반환하는 함수처럼 작동합니다. 이를 통해 코드 중복을 피하고 프로젝트 전반에 걸쳐 복잡한 변환을 더 쉽게 유지 관리할 수 있습니다.
2파일에서 재사용 가능한 dbt 매크로를 정의하는 방법은 무엇입니까?
2
파일에서 재사용 가능한 dbt 매크로를 정의하는 방법은 무엇입니까?
답변
dbt 매크로는 macros 폴더 내의 .sql 파일에서 Jinja macro/endmacro 구문을 사용하여 정의됩니다. 매크로 이름은 macro 키워드 뒤에 지정하고, 매개변수는 괄호 안에 작성합니다. 이 매크로는 프로젝트의 모든 모델에서 호출할 수 있습니다.
3dbt 스냅샷의 'timestamp'와 'check' 전략의 차이점은 무엇입니까?
3
dbt 스냅샷의 'timestamp'와 'check' 전략의 차이점은 무엇입니까?
답변
timestamp 전략은 업데이트 날짜 열(updated_at)을 비교하여 변경 사항을 감지하며, 단일 열만 비교하므로 성능이 더 좋습니다. check 전략은 지정된 열(check_cols)의 값을 비교하여 모든 변경 사항을 감지하며, 신뢰할 수 있는 timestamp 열이 없을 때 유용합니다.
4
스냅샷을 생성할 때 dbt가 자동으로 추가하는 열은 무엇입니까?
5
dbt에서 'merge' 전략으로 incremental 모델을 구성하는 방법은 무엇입니까?
+17 면접 질문
기타 Data Engineering 면접 주제
Linux & Shell - 기초
Junior
20개 질문Git & GitHub - 기초
Junior
20개 질문데이터 엔지니어링을 위한 고급 Python
Junior
25개 질문Docker - 기초
Junior
25개 질문Google Cloud Platform - 기초
Junior
20개 질문CI/CD 및 코드 품질
Mid-Level
20개 질문Docker Compose
Mid-Level
20개 질문FastAPI - 데이터 API
Mid-Level
20개 질문Data Engineering을 위한 고급 SQL
Mid-Level
20개 질문Data Lake - 아키텍처 및 수집
Mid-Level
20개 질문데이터 엔지니어링을 위한 BigQuery
Mid-Level
20개 질문PostgreSQL - 관리
Mid-Level
20개 질문Data Engineering을 위한 Data Modeling
Mid-Level
20개 질문Fivetran & Airbyte - 데이터 수집
Mid-Level
20개 질문dbt - 기초
Mid-Level
20개 질문Apache Airflow - 기초
Mid-Level
20개 질문Kubernetes - 기초
Mid-Level
20개 질문ETL / ELT / ETLT 패턴
Senior
20개 질문Apache Airflow - 고급
Senior
20개 질문Airflow + dbt - 파이프라인 오케스트레이션
Senior
20개 질문PySpark - 대규모 처리
Senior
20개 질문Google Pub/Sub - 데이터 스트리밍
Senior
20개 질문Apache Beam & Dataflow
Senior
20개 질문Kubernetes - 프로덕션 및 스케일링
Senior
20개 질문Terraform - Infrastructure as Code
Senior
20개 질문NoSQL 데이터베이스
Senior
20개 질문모던 Data Architecture
Senior
20개 질문모니터링 및 관찰 가능성
Senior
20개 질문IAM 및 데이터 보안
Senior
20개 질문