pbj0812의 코딩 일기

[빅데이터기술] DBT 설치 및 MySQL 에 연결 해보기 본문

빅데이터/빅데이터기술

[빅데이터기술] DBT 설치 및 MySQL 에 연결 해보기

pbj0812 2024. 2. 27. 03:01

0. 실습

 1) 설치

  - MySQL 기반으로...

pip3 install dbt
pip3 install dbt-mysql

 2) 프로젝트 시작

  - 아래 작업을 해야 profiles.yml 파일이 생성됨.

dbt init my_project

 - 동시에 폴더들도 생성됨

3) yml 파일 수정

vi ~/.dbt/profiles.yml
my_project:
  target: dev
  outputs:
    dev:
      type: mysql
      server: 127.0.0.1
      port: 3306
      database: sql_study # optional, should be same as schema
      schema: dbt_test
      username: root
      password:
      driver: MySQL ODBC 8.0 ANSI Driver
    prod:
      type: mysql
      server: 127.0.0.1
      port: 3306  # optional
      database: sql_study # optional, should be same as schema
      schema: dbt_test
      username: root
      password:
      driver: MySQL ODBC 8.0 ANSI Driver

4) .dbt/my_project/models 에 staging 폴더 생성하고 first.sql 파일 작성

 - StoreA 는 기존 MySQL DB 에서 임의로 만든 테이블

 - 맨 윗 줄은 이 테이블이 view 테이블 이라는 것을 나타냄

 - 세미콜론(;) 을 붙이면 에러 발생

{{ config(materialized='view') }}

SELECT UserId FROM sql_study.StoreA

 5) 실행(dbt run)

1. 결과 확인

 - 위의 project.yml 에서 스키마로 정의한 dbt_test 가 데이터 베이스 이름이 되었으며, Views 아래에 first.sql 파일의 이름은 first 가 그리고 필드는 UserId 만 가져온 것을 볼 수 있음

  - 데이터도 확인

2. 도움 

 - chatgpt4

Comments