สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
ฐานข้อมูล · DBC-44

Data Pipeline ด้วย Apache Airflow และ dbt

หลักสูตร Data Pipeline ด้วย Apache Airflow และ dbt เป็นการอบรมสร้าง Data Pipeline แบบ ELT ตั้งแต่เขียน DAG จัดตารางงาน ดึงข้อมูลเข้าคลัง แปลงข้อมูลด้วย dbt เขียน Test คุณภาพข้อมูล จนถึงเชื่อม Airflow กับ dbt และนำขึ้น Production เหมาะกับ Data Engineer, Data Analyst, BI Developer และ DBA ที่เขียน SQL ได้

อัปเดตล่าสุด
ราคาเริ่มต้น 11,250 บาท / ท่าน 12,500 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา18 ชั่วโมง · 3 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไปเปิดตามคำขอ
  • ระดับขั้นสูง

ภาพรวมหลักสูตร

หลายองค์กรมีเครื่องมือ BI อย่าง Power BI หรือ Tableau อยู่แล้ว แต่ยังเหนื่อยกับการเตรียมข้อมูล เพราะต้องดึงข้อมูลจากหลายระบบด้วยมือ ทำความสะอาดใน Excel และมักเจอปัญหาตัวเลขไม่ตรงกันระหว่างรายงาน หลักสูตรนี้เติมช่องว่างชั้น Data Engineering ที่อยู่ระหว่างฐานข้อมูลต้นทางกับรายงาน ด้วยสองเครื่องมือมาตรฐานของสายงาน คือ Apache Airflow สำหรับจัดตารางและควบคุมลำดับงาน และ dbt สำหรับแปลงข้อมูลด้วย SQL พร้อมการทดสอบและเอกสารอัตโนมัติ

ผู้เรียนจะได้สร้าง Data Pipeline จริงตั้งแต่ต้นจนจบ ตั้งแต่การออกแบบสถาปัตยกรรมแบบ ELT การเขียน DAG ใน Airflow การดึงข้อมูลจากหลายแหล่งเข้าคลังข้อมูล การแปลงข้อมูลเป็นชั้น Staging และ Mart ด้วย dbt การเขียน Test เพื่อจับข้อมูลผิดก่อนถึงมือผู้ใช้ การทำ Incremental Model ให้ประมวลผลเฉพาะข้อมูลใหม่ ไปจนถึงการเชื่อม Airflow กับ dbt และการนำขึ้นใช้งานจริงพร้อมระบบเฝ้าระวัง (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)

สิ่งที่คุณจะได้รับ

  • เข้าใจสถาปัตยกรรมข้อมูลสมัยใหม่และความต่างระหว่าง ETL กับ ELT
  • ติดตั้งและใช้งาน Apache Airflow พร้อมเข้าใจองค์ประกอบหลักของระบบ
  • เขียน DAG และเลือกใช้ Operator ให้เหมาะกับงานแต่ละประเภท
  • จัดตารางเวลา กำหนดลำดับงาน และจัดการเมื่องานล้มเหลวหรือต้องรันย้อนหลัง
  • ดึงข้อมูลจากฐานข้อมูล ไฟล์ และ API เข้าสู่คลังข้อมูลอย่างเป็นระบบ
  • แปลงข้อมูลด้วย dbt แยกเป็นชั้น Staging และ Mart ที่ดูแลง่าย
  • เขียน Test ตรวจคุณภาพข้อมูลและสร้างเอกสารพร้อม Lineage อัตโนมัติ
  • ทำ Incremental Model เพื่อประมวลผลเฉพาะข้อมูลที่เปลี่ยนแปลง
  • เชื่อม Airflow กับ dbt และนำ Pipeline ขึ้นใช้งานจริงพร้อมการเฝ้าระวัง

หลักสูตรนี้เหมาะสำหรับ

  • Data Engineer และผู้ที่ต้องการเข้าสู่สายงาน Data Engineering
  • Data Analyst และ BI Developer ที่เหนื่อยกับการเตรียมข้อมูลด้วยมือ
  • ผู้ดูแลฐานข้อมูล (DBA) ที่ต้องรับผิดชอบงานส่งข้อมูลให้ทีมวิเคราะห์
  • นักพัฒนาที่ต้องสร้างงานประมวลผลข้อมูลตามตารางเวลา
  • ทีมข้อมูลที่ต้องการแก้ปัญหาตัวเลขในรายงานไม่ตรงกันอย่างเป็นระบบ

พื้นฐานของผู้เข้าอบรม

  • เขียน SQL ได้ในระดับใช้งาน (SELECT, JOIN, GROUP BY)
  • เข้าใจแนวคิดฐานข้อมูลเชิงสัมพันธ์และตาราง
  • อ่านและแก้ไขโค้ด Python เบื้องต้นได้ (ไม่ต้องเขียนเป็นระดับนักพัฒนา)
  • หากใช้ Docker และ Git มาบ้างจะช่วยให้ทำ Lab ได้ราบรื่นขึ้น

หัวข้อการฝึกอบรม

รายละเอียดหลักสูตร

อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง รูปแบบบรรยายพร้อมปฏิบัติจริง (Hands-on Lab) ทุกหัวข้อ ระดับ Intermediate ผู้เรียนจะได้ Lab Guide, โค้ด DAG และโปรเจกต์ dbt ตัวอย่างครบทุก Lab, ชุดข้อมูลฝึก และ Checklist คุณภาพข้อมูล กลับไปใช้งานจริง เครื่องมือทั้งหมดเป็นโอเพนซอร์สที่นำไปใช้ต่อในองค์กรได้

Day 1 สถาปัตยกรรมข้อมูลและ Airflow

Section 1: สถาปัตยกรรมข้อมูลสมัยใหม่

  • ปัญหาที่พบบ่อย: ดึงข้อมูลด้วยมือ ตัวเลขไม่ตรงกัน และไม่รู้ที่มาของข้อมูล

  • ความต่างระหว่าง ETL และ ELT และเหตุผลที่ ELT เป็นที่นิยมในยุคคลังข้อมูลสมัยใหม่

  • องค์ประกอบของ Data Platform: แหล่งข้อมูล, การนำเข้า, คลังข้อมูล, การแปลง และ BI

  • การออกแบบชั้นข้อมูลแบบ Staging, Intermediate และ Mart

Section 2: การติดตั้งและใช้งาน Apache Airflow

  • องค์ประกอบของ Airflow: Scheduler, Webserver, Worker, Metadata Database และ Executor

  • การติดตั้ง Airflow ด้วย Docker Compose และการใช้งานหน้าเว็บ

  • แนวคิด DAG, Task และ Task Instance และการอ่านสถานะงานบนหน้าจอ

  • Lab: ติดตั้ง Airflow และรัน DAG ตัวอย่างตัวแรก

Section 3: การเขียน DAG และ Operator

  • การเขียน DAG ด้วย Python และการใช้ Decorator แบบใหม่ (TaskFlow API)

  • Operator ที่ใช้บ่อย: Python, Bash, SQL และ Sensor สำหรับรอเงื่อนไข

  • การส่งค่าระหว่าง Task ด้วย XCom และการใช้ Variable และ Connection อย่างปลอดภัย

  • Lab: เขียน DAG ดึงข้อมูลจากไฟล์และ API แล้วบันทึกลงฐานข้อมูล

Section 4: การจัดตารางเวลาและการจัดการงานล้มเหลว

  • การตั้งตารางเวลา (Schedule) และแนวคิด Data Interval และ Catchup

  • การกำหนดลำดับงาน (Dependency) และการรันงานแบบขนาน

  • การลองใหม่อัตโนมัติ (Retry) การแจ้งเตือนเมื่อล้มเหลว และการรันย้อนหลัง (Backfill)

  • Lab: ตั้งตารางงานรายวันและทดสอบสถานการณ์งานล้มเหลวและการรันย้อนหลัง

Day 2 การนำเข้าข้อมูลและ dbt

Section 5: การดึงข้อมูลเข้าคลังข้อมูล

  • การดึงข้อมูลจากฐานข้อมูลเชิงสัมพันธ์ ไฟล์ CSV และ API

  • การนำเข้าแบบเต็ม (Full Load) เทียบกับแบบเพิ่มเฉพาะที่เปลี่ยน (Incremental Load)

  • การจัดการข้อมูลที่ล้มเหลวกลางทางและการทำให้รันซ้ำได้ผลเหมือนเดิม (Idempotency)

  • Lab: สร้าง DAG ดึงข้อมูลจากหลายแหล่งเข้าสู่ชั้น Raw ในคลังข้อมูล

Section 6: รู้จัก dbt และการสร้าง Model

  • dbt คืออะไร และเปลี่ยนการแปลงข้อมูลด้วย SQL ให้เป็นงานที่มีระเบียบอย่างไร

  • การตั้งค่าโปรเจกต์ dbt, profiles และการเชื่อมต่อคลังข้อมูล

  • การเขียน Model, การใช้ ref และ source และการทำ Materialization แบบ View และ Table

  • Lab: สร้าง Model ชั้น Staging จากข้อมูลดิบที่ดึงเข้ามา

Section 7: การทดสอบข้อมูลและเอกสาร

  • การเขียน Test มาตรฐาน: not_null, unique, accepted_values และ relationships

  • การเขียน Test แบบกำหนดเองด้วย SQL สำหรับกฎทางธุรกิจ

  • การสร้างเอกสารอัตโนมัติและการดู Lineage ว่าข้อมูลมาจากไหนและไปที่ใด

  • Lab: เพิ่ม Test และเอกสารให้ Model และทดลองให้ Test จับข้อมูลผิด

Section 8: Incremental Model และการจัดโครงสร้าง

  • การทำ Incremental Model เพื่อประมวลผลเฉพาะข้อมูลใหม่และลดเวลาประมวลผล

  • การจัดโครงสร้างโปรเจกต์เป็นชั้น Staging, Intermediate และ Mart

  • การใช้ Macro และ Jinja ลดการเขียน SQL ซ้ำ และการใช้ Seed สำหรับตารางอ้างอิง

  • Lab: แปลง Model ให้เป็น Incremental และวัดเวลาที่ประหยัดได้

Day 3 การเชื่อมระบบและ Production

Section 9: การเชื่อม Airflow เข้ากับ dbt

  • รูปแบบการเรียก dbt จาก Airflow และการแยกขั้นตอน run และ test ให้เห็นผลชัดเจน

  • การออกแบบ DAG ให้ครบวงจร: ดึงข้อมูล แปลงข้อมูล ทดสอบ และแจ้งผล

  • การจัดการ Dependency ระหว่างงานนำเข้าและงานแปลงข้อมูล

  • Lab: สร้าง Pipeline ครบวงจรที่ Airflow เรียก dbt ทำงานต่อเนื่องอัตโนมัติ

Section 10: คุณภาพข้อมูลและการเฝ้าระวัง

  • การวางจุดตรวจคุณภาพข้อมูลในแต่ละชั้นและการกำหนดว่าเมื่อใดควรหยุด Pipeline

  • การแจ้งเตือนเมื่อข้อมูลผิดปกติหรือ Pipeline ล้มเหลว ผ่านอีเมลหรือช่องทางของทีม

  • การติดตามความสดของข้อมูล (Freshness) และการสื่อสารกับผู้ใช้รายงาน

  • Lab: ตั้งการตรวจคุณภาพและการแจ้งเตือนให้ Pipeline ของตนเอง

Section 11: การนำขึ้นใช้งานจริง

  • การแยกสภาพแวดล้อม Dev และ Production และการจัดการ Credential อย่างปลอดภัย

  • การเก็บโค้ด Pipeline ใน Git และการตรวจทานผ่าน Pull Request

  • แนวทาง CI/CD สำหรับงานข้อมูลและการทดสอบก่อนขึ้น Production

  • การวางแผนดูแล Pipeline ระยะยาวและการส่งมอบให้ทีม

Section 12: Capstone และการต่อยอด

  • โจทย์: สร้าง Data Pipeline ครบวงจรจากข้อมูลดิบจนถึงตารางที่พร้อมต่อเข้า BI

  • การนำเสนอสถาปัตยกรรมที่ออกแบบและเหตุผลของการตัดสินใจ

  • การต่อยอดสู่ Data Warehouse บนคลาวด์ และเครื่องมืออื่นในสาย Data Engineering

  • Workshop: นำเสนอ Pipeline ที่สร้างและทบทวนร่วมกันกับวิทยากร

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770

สำหรับองค์กร — In-house / Private Training

  • ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
  • เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
  • ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
ขอใบเสนอราคาอบรมองค์กร

วิทยากรผู้สอน

คำถามที่พบบ่อย

ETL กับ ELT ต่างกันอย่างไร

ETL แปลงข้อมูลให้เรียบร้อยก่อนแล้วจึงโหลดเข้าคลังข้อมูล ส่วน ELT โหลดข้อมูลดิบเข้าคลังข้อมูลก่อน แล้วค่อยแปลงภายในคลังด้วย SQL ELT เป็นที่นิยมในยุคคลังข้อมูลบนคลาวด์ที่ประมวลผลได้เร็วและขยายตัวง่าย เพราะเก็บข้อมูลดิบไว้ย้อนกลับมาแปลงใหม่ได้เสมอ และแยกงานนำเข้ากับงานแปลงออกจากกัน เครื่องมืออย่าง dbt ออกแบบมาสำหรับขั้น Transform ในแนวทางนี้

DAG ใน Apache Airflow คืออะไร เขียนอย่างไร

DAG (Directed Acyclic Graph) คือกลุ่มงานที่กำหนดลำดับการทำงานไว้และไม่วนกลับ เขียนเป็นไฟล์ Python วางในโฟลเดอร์ dags ระบุตารางเวลาและวันเริ่ม แล้วสร้าง Task ด้วย Operator เช่น PythonOperator หรือ BashOperator หรือใช้ Decorator @task ของ TaskFlow API จากนั้นกำหนดลำดับด้วยเครื่องหมาย >> Scheduler จะรันงานตามเวลาที่ตั้งไว้ และดูสถานะแต่ละ Task ได้บนหน้าเว็บ

ทดสอบคุณภาพข้อมูลด้วย dbt ทำอย่างไร

ประกาศ Test ในไฟล์ YAML คู่กับ Model โดย dbt มี Test มาตรฐานสี่แบบ คือ not_null unique accepted_values และ relationships สำหรับตรวจค่าว่าง ค่าซ้ำ ค่าที่อนุญาต และความสัมพันธ์ระหว่างตาราง ส่วนกฎทางธุรกิจเฉพาะให้เขียนเป็น SQL ที่คืนแถวที่ผิดกฎ ถ้ามีแถวคืนมา Test จะล้มเหลว จากนั้นรัน dbt test หรือ dbt build และวาง Test ไว้ใน Pipeline เพื่อหยุดงานก่อนข้อมูลผิดไปถึงรายงาน

หลักสูตร Data Pipeline ด้วย Apache Airflow และ dbt เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

เหมาะกับ Data Engineer และผู้ที่ต้องการเข้าสู่สาย Data Engineering รวมถึง Data Analyst และ BI Developer ที่เหนื่อยกับการเตรียมข้อมูลด้วยมือ และ DBA ที่ต้องส่งข้อมูลให้ทีมวิเคราะห์ ควรเขียน SQL ระดับใช้งานได้ เช่น SELECT JOIN และ GROUP BY เข้าใจฐานข้อมูลเชิงสัมพันธ์ และอ่านแก้โค้ด Python เบื้องต้นได้ ถ้าเคยใช้ Docker และ Git จะทำ Lab ได้ราบรื่นขึ้น

เรียนจบหลักสูตร Data Pipeline ด้วย Apache Airflow และ dbt แล้วทำอะไรได้บ้าง

ออกแบบชั้นข้อมูล Staging Intermediate และ Mart เขียน DAG ดึงข้อมูลจากฐานข้อมูล ไฟล์ และ API เข้าคลังข้อมูลตามตารางเวลา จัดการงานล้มเหลวด้วย Retry และ Backfill สร้าง Model ด้วย dbt พร้อม Test และเอกสาร ทำ Incremental Model ลดเวลาประมวลผล และให้ Airflow เรียก dbt เป็น Pipeline ครบวงจรที่แจ้งเตือนเมื่อข้อมูลผิดปกติ ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้

จัดอบรมหลักสูตร Data Pipeline ด้วย Apache Airflow และ dbt ให้ทีมในองค์กรได้ไหม

ได้ หลักสูตรนี้จัดเป็นการอบรมแบบ In-house ให้ทีมในองค์กรได้ และปรับตัวอย่างให้ตรงกับงานของทีม เช่น ใช้แหล่งข้อมูลและรายงานที่ทีมดูแลอยู่เป็นโจทย์สร้าง Pipeline ขอใบเสนอราคาได้จากหน้านี้ หรือติดต่อทาง LINE @itgenius โทร 02-570-8449