ของดี! dbt_project_evaluator ตัวช่วยตรวจสอบโปรเจค dbt ว่ายัง align กับ best practices อยู่ไหม

ทาง dbt Labs ทำเครื่องมือที่จะช่วยเราคอยเช็ค practices ต่าง ๆ ในโปรเจค dbt ของเราว่ายัง align กันอยู่ไหม ดีงามมาก ๆ :+1:

The dbt_project_evaluator was born: a dbt package that uses the shared language of SQL, models, and tests to identify and assert specific recommendations for a given dbt project.

ลองอ่านรายละเอียดได้ที่บทความด้านล่างนี้ครับ

สามารถดู Demo เพิ่มเติมได้ที่วีดีโอด้านล่างนี้เลย เค้าไปแชร์ที่งาน Coalesce 2022 ที่ผ่านมา

1 Like

หลังจากที่เราเซตอัพ แล้วรันคำสั่ง

dbt build --select package:dbt_project_evaluator

เรียบร้อยแล้ว เราจะได้ tables กับ views อยู่บน data warehouse ของเรา แล้วที่ console จะมี log พวก warning เกิดขึ้น ก็ให้เราเอา warning พวกนั้นเทียบกับ rules ต่าง ๆ ที่ :point_down:

ยกตัวอย่างเช่น ถ้าผมเจอแบบ screenshot ด้านล่างนี้

ตรงนี้ผมก็ต้องไปหา rule ที่เป็นเรื่อง Missing Primary Key Tests พอเข้าไปอ่านแล้วก็พบว่า อ๋อ… มีโมเดลที่ผมไม่ได้เขียนเทสเรื่อง primary keys ไว้ และ dbt_project_evaluator ก็ได้สร้างโมเดล fct_missing_primary_key_tests ที่เก็บข้อมูลโมเดลที่ไม่มีเทสเรื่อง primary keys ไว้ให้ผมแล้วด้วย! :star_struck:

ซึ่งผมก็สามารถที่จะเข้าไป query ดึงข้อมูลดูได้ว่าโมเดลไหนบ้างที่เป็นแบบนั้น ตามรูปด้านล่างนี้เลย

ตอนนี้เจอ warning ไปเป็นร้อย… แก้กันสนุกสนาน :joy:

1 Like