dbt 프로젝트 생성

dbt 입문

Mike Metzger

Data Engineer

dbt 프로젝트란

  • dbt 데이터 작업에 필요한 구성 요소 포함

    • 프로젝트 설정
    • 데이터 소스 및 대상
    • SQL 쿼리
    • 템플릿
    • 문서화
  • 폴더 구조로 구현

dbt 폴더 구조

dbt 입문

새 프로젝트 생성 방법

  • dbt init 명령어 사용
    • 프로젝트 이름 입력 요청
    • 데이터베이스 / 데이터 웨어하우스 유형 선택 요청
  • dbt init <projectname>으로 통합 가능
  • 최상위 프로젝트 폴더 및 필요한 구조 생성
repl:~/workspace$ dbt init
16:38:37  Running with dbt=1.8.4
Enter a name for your project (letters, digits, underscore): test_project
Which database would you like to use? [1] duckdb
Enter a number: 1
...
dbt 입문

프로젝트 프로파일로 설정 정의

  • 프로파일은 특정 배포 시나리오를 나타냄
    • 개발
    • 스테이징 / 테스트
    • 프로덕션
  • dbt 프로젝트에 여러 프로파일 설정 가능
  • profiles.yml 파일에 정의
marketing_campaign_results:
  outputs:
    dev:
      type: duckdb
      path: dbt.duckdb
    prod:
      type: snowflake
      ...
  target: dev
dbt 입문

YAML

  • Yet Another Markup Language
  • 텍스트 파일, 들여쓰기 중요 (Python과 유사)
  • 다양한 개발 환경에서 설정에 활용
  • 규칙이 까다로울 수 있으므로 예시처럼 정렬 유지
marketing_campaign_results:
  outputs:
    dev:
      type: duckdb
      path: dbt.duckdb
    prod:
      type: snowflake
      ...
  target: dev
dbt 입문

DuckDB

  • 오픈 소스 서버리스 데이터베이스
    • sqlite와 유사
  • 분석 목적으로 설계
  • 벡터화 처리 (빠른 성능)
  • 사용 편의성 높음

duckdb 로고

dbt 입문

연습해 봅시다!

dbt 입문

Preparing Video For Download...