Data Pipeline

 

            data pipeline (หรือจะเรียก workflow, job scheduler ก็ได้นะ แต่ผมจะเอามาใช้ทางนี้แหละ) เอาไว้ทำงานที่เกี่ยวข้องกับการดึงข้อมูลนะครับ รวมถึงการสั่งงานตามช่วงเวลาทำให้ไม่ต้องกดเริ่ม pipeline เองทุกครั้งเหมือน jenkins (เพราะมันไม่ใช่ data pipeline โดยตรงมันเป็น CI/CD) จะคล้าย cron ใน linux แต่ดีกว่าตรงที่มันสามารถตรวจสอบงานก่อนหน้าก่อนที่จะเริ่มรันงานใหม่ได้ และมี report ให้เราดูได้ว่าใช้เวลาเท่าไหร่ การทำงานล้มเหลวไหม นอกจากนี้ยังตั้งค่าการทำซ้ำได้ กรณีที่มีปัญหาเช่น ทำ web scraping แต่เวลานั้นเน็ตมีปัญหา มันก็จะทำให้ใหม่ (เอาจริงถึงจะเรียกว่า pipeline แต่จริงๆ ส่วนมากเป็น Directed Acyclic Graph หรือ DAG มี UI และใช้ python เป็นหลัก)

  1. airflow อันนี้เจ้าถิ่นเก่า ออฟชั่นครบ แต่ก็ใช้เวลาเรียนรู้นาน
  2. luigi ต้องเขียนจัดการเรื่องเวลารันงานเอง ใช้เวลาเรียนรู้น้อยกว่า 
  3. prefect เร็วกว่าทั้ง luigi และ airflow แต่มี community น้อย ทั้ง luigi, perfect ต่างก็เน้นที่ความง่ายและความเบา (มีเวอร์ชั่น cloud แบบชำระเงิน)
  4. dagster เคยมีปัญหากับ sqlite, mysql แนะนำให้ใช้ postgres มีเวอร์ชั่นชำระเงินสำหรับ cloud เหมือนกัน
  5. kedro
  6. apache nifi

ด้านการใช้งานร่วมกับ cluster

  1. argo สำหรับ Kubernetes ใช้ yaml
  2. mlflow เน้นใช้งาน ml ตามรูปแบบที่เตรียมไว้
  3. kubeflow ใช้ร่วมกับ Kubernetes 

ซึ่งจริงๆ ยังมีอีกมากนะครับที่เอามาก็แค่บางส่วนที่คิดว่าน่าสนใจ

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

โปรโมชั่นเน็ต TOT

โน๊ตบุ๊ค acer switch sa5-271 แบตบวม T^T

Blog นี้สร้างเพื่อ?