什么是 dbt 模型?

dbt 入门

Mike Metzger

Data Engineer

什么是数据模型?

  • 概念性,定义因情境而异
  • 表达数据的逻辑含义
  • 描述数据及其组成的关系
  • 促进用户协作
dbt 入门

什么是数据模型?

  • 概念性,定义因情境而异
  • 表达数据的逻辑含义
  • 描述数据及其组成的关系
  • 促进用户协作
物种 腿数 是否有毒
猎豹 4
鸭子 2
鸭嘴兽 4
响尾蛇 0
dbt 入门

dbt 中的模型是什么?

  • 表达各类转换
  • 通常用 SQL 编写
    • 新版本也可用 Python
  • 通常是一个 SELECT 查询
  • 每个模型由一个 .sql 扩展名的文本文件表示
dbt 入门

简单的 dbt 模型

  1. models 目录下创建子目录
  2. 在上述目录中创建一个 .sql 文件
  3. 将 SQL 语句写入新文件
  4. 运行 dbt run 以物化该模型
bash> mkdir models/order
bash> touch models/order/customer_orders.sql
select first_name, 
       last_name,
       shipping_address,
       item_quantity
from source_table

bash> dbt run

dbt 入门

读取 Parquet

  • Parquet?
    • 列式二进制文件格式
    • DuckDB 可直接读取 Parquet 文件
    • read_parquet
      • SELECT * FROM read_parquet('filename.parquet')
    • 或直接使用单引号包裹的文件名
      • SELECT * FROM 'filename.parquet'
dbt 入门

Let's practice!

dbt 入门

Preparing Video For Download...