การสร้าง production pipeline

Apache Airflow เบื้องต้นด้วย Python

Mike Metzger

Data Engineer

การรัน Dag และ task

การรัน task เฉพาะจาก command-line:

airflow tasks test <dag_id> <task_id> <date>

การรัน Dag ทั้งหมด:

airflow dags trigger --logical-date <date> <dag_id>
Apache Airflow เบื้องต้นด้วย Python

สรุป task ที่ควรรู้

  • @task - ระบุฟังก์ชัน Python ที่กำหนดให้เป็น Airflow task
  • @task.bash - คืนค่าผลลัพธ์ของคำสั่ง bash เป็น Airflow task result
  • @task.branch - branching operator สำหรับเลือกเส้นทางการรันใน Dag
  • FileSensor - ต้องการอาร์กิวเมนต์ filepath และอาจต้องกำหนด mode หรือ poke_interval
Apache Airflow เบื้องต้นด้วย Python

สรุป template ที่ควรรู้

  • ออบเจกต์หลายตัวใน Airflow รองรับ template
  • บางฟิลด์ใช้ templated string ได้ บางฟิลด์ใช้ไม่ได้
  • วิธีตรวจสอบคือใช้เอกสารในตัว:
  1. เปิด python3 interpreter
  2. import ไลบรารีที่จำเป็น (เช่น from airflow.sdk import dag, task)
  3. ที่ prompt รัน help(<Airflow object>) เช่น help(task)
  4. มองหาบรรทัดที่อ้างอิง template_fields ซึ่งจะระบุอาร์กิวเมนต์ที่ใช้ template ได้
Apache Airflow เบื้องต้นด้วย Python

ตัวอย่างเอกสาร template

Terminal แสดงผลลัพธ์ python3 help สำหรับออบเจกต์ Airflow

Terminal output ที่ไฮไลต์บรรทัด template_fields ใน Airflow help

Apache Airflow เบื้องต้นด้วย Python

การทำงานกับ Airflow

ภาพประกอบการสร้าง กำหนดเวลา และติดตาม workflow

โลโก้ Apache Airflow

Apache Airflow เบื้องต้นด้วย Python

มาฝึกกันเถอะ!

Apache Airflow เบื้องต้นด้วย Python

Preparing Video For Download...