What is a DBT model?

우상욱·2024년 3월 2일
0

DBT

목록 보기
4/16

What is a data model?


  • Conceptual, with different difinitions depending on context
  • Represents the logical meaning of data
  • How the data and its components relate
  • Help users collaborate

데이터모델은 사용되는 컨텍스트에 따라 정의가 다른 개념적인 아이디어입니다. 일반적으로 데이터 모델은 데이터의 논리적 의미(logical meaning)을 나타냅니다. DataBase Table, DataFrame, Data Structure들을 의미합니다.주문 그룹, 고객 또는 특정 지역의 지진 세부 정보 같은 것입니다. 또한 데이터모델은 또한 데이터 집합과 데이터의 다양한 구성 요소가 서로 어떻게 연관되어있는지 나타냅니다. 데이터모델의 기본 목적 중 하나는 사용자가 공통된 방식으로 데이터를 공동작업하고 이해할 수 있도록 돕는 것입니다.

What is a model in dbt?


  • Represents the various transformations
    원시 소스 데이터 세트에서 수행된 다양한 변환을 나타냅니다.
  • Typically written in SQL
    • Newer versions can use Python
      최신 버전의 dbt는 모델/변환에 Python을 사용할 수 있습니다.
  • Usually a SELECT query
  • Each model represented by a text file with .sql extension

simple dbt model


bash > mkdir models/order
  1. Create a directory in the models directory
    이 디렉토리의 이름은 무엇이든 만들 수 있지만 나중에 참조를 위해 일관성을 유지하는 것이 가장 좋습니다.
bash > touch models/order/customer_orders.sql
  1. Create a .sql file in above directory
select first_name,
	last_name,
    shipping_address,
    item_quantity
from source_table
  1. Add the SQL statements to the newly create file
bash > dbt run
  1. Run dbt run to materialize the model

Reading from Parquet


  1. Parquet?
  • Columnar binary file format
    Parquet은 데이터를 효율적으로 저장하기 위해 많은 도구에서 사용되는 열 형식의 이진 파일 형식입니다. Avro또는 일반적인 관계형 데이터베이스 형식과 같은 행 기반과 대조됩니다.

    • Used by many tools to efficiently store data
      Parquet에서 작동하는 일반적인 도구로는 Apache Spark, Apache Arrow 및 Duck DB가 있습니다.
    • DuckDB can read Parquet files directly
      이는 SQL 쿼리에서 read_parquet 함수를 사용하여 수행할 수 있습니다.
      • read_parquet
        SELECT * FROM
        read_parquet('filename.parquet')
    • Or simply the filename in single quotes
      	```
      SELECT * FROM
      'filename.parquet'
profile
데이터엔지니어

0개의 댓글