dbt (Data Build Tool) มีสถาปัตยกรรมแบบ ELT (Extract, Load, Transform) โดยทำหน้าที่ในส่วนของ Transform (T) เพียงอย่างเดียว สถาปัตยกรรมของ dbt ถูกออกแบบมาเพื่อเปลี่ยนนักวิเคราะห์ข้อมูล (Data Analysts) ให้ทำงานได้เหมือนวิศวกรซอฟต์แวร์ (Software Engineers) โดยอาศัยหลักการ Analytics Engineering พัฒนาโดยภาษา Rust สถาปัตยกรรมหลักของ dbt สามารถแบ่งออกเป็นส่วนสำคัญได้ดังนี้ครับ: 1. โครงสร้างหลัก (Core Components) Models (SQL / Python): หัวใจหลักของ dbt คือไฟล์ .sql (หรือ .py ) ซึ่งก็คือคำสั่ง SELECT ธรรมดา โดย dbt จะนำคำสั่งเหล่านี้ไปสร้างเป็น Table หรือ View ในคลังข้อมูลให้โดยอัตโนมัติ Jinja Templating Engine: dbt ใช้ Jinja เพื่อทำให้ SQL มีความยืดหยุ่น (Dynamic) สามารถใช้คำสั่ง if-else, loops และการเขียนฟังก์ชันซ้ำได้ (Macros) Project Configuration ( dbt_project.yml ): ไฟล์ศูนย์กลางที่ใช้ควบคุมการทำงานของโปรเจกต์ เช่น การตั้งค่าโฟลเดอร์ การกำหนดสิทธิ์ และการบอกว่า Model ไหนควรจะสร้างออกมาเป็น Table หรือ View 2. การบริหารจัดการความสัมพันธ์ (Dependency Management) ref() Function: เ...
บอกกล่าว เล่าเทคโนโลยี ชงกาแฟ นั่งอ่าน