ข้ามไปที่เนื้อหาหลัก

บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ data analytic

dbt Extract, Load, Transform เปลี่ยนนักวิเคราะห์ เป็นวิศวกร ภายใต้ Analytics Engineering

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: เ...