DataEngineering/DBT
DBT를 왜 써야 하는가, 언제 써야 하는가?
✅ DBT를 왜 써야 하는가 (Why DBT?)☑️ 1. SQL 변환 로직이 많아지고 있다raw → 정제 → 집계 쿼리가 늘어남비슷한 SQL이 여기저기 복붙됨“이 테이블 누가 만들었지?” 상황 발생👉 DBT는 SQL을 ‘관리 대상 코드’로 바꿔줌☑️ 2. 데이터 품질 이슈를 사전에 잡고 싶다null 값중복 키잘못된 범위 값tests: - not_null - unique👉 쿼리 결과가 아니라 “데이터 자체를 테스트”☑️ 3. 실행 순서 관리가 힘들다테이블 A → B → C순서 틀리면 에러수동 실행은 한계👉 ref() 기반으로 DAG 자동 관리☑️ 4. 협업과 리뷰가 필요하다SQL도 리뷰 받고 싶다누가 어떤 로직을 바꿨는지 알고 싶다롤백이 필요하다👉 Git + PR + 코드리뷰 가능☑️ 5. 문서..
DBT란?
DBT란 무엇인가?**DBT(Data Build Tool)**는👉 데이터 웨어하우스 안에서 SQL로 데이터 변환을 관리해주는 도구야.한 줄로 말하면:“ETL에서 T(Transform)를 SQL + 소프트웨어 개발 방식으로 하게 해주는 도구”DBT가 왜 나왔을까?예전 데이터 흐름은 보통 이랬어:Python / Spark에서 데이터 가공가공된 결과를 DW에 적재로직이 여기저기 흩어짐 😵👉 문제점:SQL은 단순 조회용변환 로직은 코드/스크립트로 분산테스트, 버전 관리, 문서화가 약함그래서 등장한 개념이:ELTE (Extract): 데이터 수집L (Load): DW에 그대로 적재T (Transform): DW 안에서 SQL로 변환➡️ 이 Transform을 체계적으로 해주는 도구가 DBTDBT의 핵심 개념..