Mô hình phân cấp trong dbt

Giới thiệu về dbt

Mike Metzger

Data Engineer

Phân cấp trong dbt là gì?

  • Thể hiện quan hệ phụ thuộc trong dự án dbt
  • Còn gọi là đồ thị có hướng không chu trình (DAG) hoặc đồ thị nguồn gốc
    • Lưu ý điều này đặc thù cho dbt, không phải DAG nói chung
  • Cho phép xây dựng/cập nhật mô hình theo quan hệ phụ thuộc

DAG / Đồ thị nguồn gốc của dbt

Giới thiệu về dbt

Chi tiết phân cấp

  • avg_fare_per_daytotal_creditcard_riders_per_day phụ thuộc taxi_rides_raw
  • dbt xây dựng taxi_rides_raw trước
  • Nếu không có đồ thị nguồn gốc, dbt tạo theo thứ tự chữ cái
    • avg_fare_per_day sẽ lỗi nếu thiếu taxi_rides_raw

DAG / Đồ thị nguồn gốc của dbt

Giới thiệu về dbt

Phân cấp được định nghĩa thế nào?

  • Xây dựng bằng ngôn ngữ mẫu Jinja trong tệp mô hình
  • Thường dùng hàm ref
  • Thay tên bảng bằng {{ ref('model_name') }} trong SQL
  • (Tái) vật chất hóa bảng với dbt run
  • Mẫu ref được thay bằng tên bảng thực tế
Giới thiệu về dbt

Ví dụ về phân cấp

SELECT 
  first_name, last_name
FROM taxi_rides_raw
SELECT 
  first_name, last_name
FROM {{ ref('taxi_rides_raw') }}
Giới thiệu về dbt

Hãy thực hành!

Giới thiệu về dbt

Preparing Video For Download...