กรณีศึกษา: การสร้าง Data Model สำหรับ E-Commerce ด้วย dbt
Susan Sun
Freelance Data Scientist
Data marts คือโมเดลข้อมูลที่สะอาดและเข้าถึงได้ง่ายที่ปลาย pipeline
กรณีการใช้งาน
Customers
ตอบคำถาม:
ลูกค้าของเราคือใคร?
พฤติกรรมการซื้อของพวกเขาเป็นอย่างไร?
ระดับข้อมูล:
หนึ่งแถวต่อลูกค้าหนึ่งราย
คอลัมน์ตัวอย่าง:
ชื่อลูกค้า, ยอดเงินที่ลูกค้าใช้จ่าย
Products
ตอบคำถาม:
รายได้ ต้นทุน และกำไรของเราเป็นเท่าใด?
ระดับข้อมูล:
หนึ่งแถวต่อสินค้าหนึ่งรายการ
คอลัมน์ตัวอย่าง:
หมวดหมู่สินค้า, รายได้, กำไร

ขั้นตอนที่ 1: ปรับแต่ง SQL logic นอก dbt ก่อน แล้วจึงแทนที่การอ้างอิงด้วย dbt syntax

ขั้นตอนที่ 2: สร้าง data tests และ docs

ขั้นตอนที่ 3: ทดสอบการ build! (เช่น dbt build)
สถานะคำสั่งซื้อ 5 แบบ:
Processing, Shipped, Complete, Cancelled และ Returned
ตัวอย่างข้อมูล:

orders_snapshot.sql{% snapshot orders_snapshot %}
{{
config(target_schema='main',
unique_key='order_id',
strategy='timestamp',
updated_at='created_at')
}}
SELECT *
FROM
{{source('looker_ecommerce', 'orders')}}
{% endsnapshot %}
dbt snapshot -s orders_snapshot.sql
dbt snapshot
dbt build
กรณีศึกษา: การสร้าง Data Model สำหรับ E-Commerce ด้วย dbt