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 เป็นหลัก)
- airflow อันนี้เจ้าถิ่นเก่า ออฟชั่นครบ แต่ก็ใช้เวลาเรียนรู้นาน
- luigi ต้องเขียนจัดการเรื่องเวลารันงานเอง ใช้เวลาเรียนรู้น้อยกว่า
- prefect เร็วกว่าทั้ง luigi และ airflow แต่มี community น้อย ทั้ง luigi, perfect ต่างก็เน้นที่ความง่ายและความเบา (มีเวอร์ชั่น cloud แบบชำระเงิน)
- dagster เคยมีปัญหากับ sqlite, mysql แนะนำให้ใช้ postgres มีเวอร์ชั่นชำระเงินสำหรับ cloud เหมือนกัน
- kedro
- apache nifi
ด้านการใช้งานร่วมกับ cluster
- argo สำหรับ Kubernetes ใช้ yaml
- mlflow เน้นใช้งาน ml ตามรูปแบบที่เตรียมไว้
- kubeflow ใช้ร่วมกับ Kubernetes
ซึ่งจริงๆ ยังมีอีกมากนะครับที่เอามาก็แค่บางส่วนที่คิดว่าน่าสนใจ
ความคิดเห็น
แสดงความคิดเห็น