+6

Airflow và ETL/ELT sinh ra là để cho nhau

Tôi mệt quá mà - Data pipeline

Một trong những việc mà data phải làm nhất là mấy ông kỹ sư data DE là lấy data từ một, nhiều nguồn và đổ về một chỗ nào đó(data lake/DWH..) để cho các chuyên viên phân tích dữ liệu 😋 mần rì pọt. Mấy bác trong nghề gọi là ETL/ELT (Extract, Transform, Load) đó, hiểu đơn giản là như bác lấy nước ở chậu A và đổ và chậu B. Một case dễ nhất là các bác đọc data từ 1 file rồi write vào database thì cũng có thể coi là ELT

image.png

, nhưng thực tế nó chua hơn nhiều.

image.png

, hoặc có thể như này, với những logic phức tạp hơn như check 10 api, call xong, nếu lỗi thông báo email/noti, đẩy data vào DB, rồi chạy model preditive, rồi chọn ra model dưới một ngưỡng chấp nhận nào đó, rồi email/noti nếu không có model nào được chạy....Nói chung mỗi case thực tế sẽ có nhiều thứ nữa kiểu như này:

image.png

Chưa kể việc bạn còn phải kiểm soát thời gian chạy từng task, viết connection cho một đống data source như file, API, Clould database... image.png

Thôi submit nghỉ.!!!!

Airflow đến và cứu rỗi tâm hồn này

Quá nản khi quản lý khoảng từ 50 tasks, rồi airflow đến và mang lại một làn gió mới cho công nghiệp ETL này. Sau khi dùng airflow bạn sẽ không phải nhọc nhằn debug, viết connection, re run job... Tất cả điều đó ẻm đã giải quyết cho bạn. Túm cái váy lại là Airflow sinh ra sẽ để:

  • Quản lý pipeline
  • Cấu hình pipline một cách nhanh nhất
  • Điều phối pipeline, tức là thằng nào chạy trước thằng nào, logic task ra sao.

Với Airflow pipeline của bạn sẽ được chạy 3R: Right time, Right way, and Right order.

Không phải chỉ có mỗi Airflow làm được những việc như trên đâu còn có vài ba thằng nữa như Apache Nifi, Workflow ... nhưng airflow có những ưu điểm:

  1. Nó nhẹ, nó tách bạch việc quản lý task và chạy task

image.png

  1. Kiến trúc dễ scale, công ty nhiều task, chỉ cần mở nhiều woker lên là xong.

image.png

  1. Nhiều provider, tức là nó connect được tới nhiều thằng data source, pip install là xong (core của airflow là Python nha các bác) .
  2. Nó đẹp ✌️ (Bắt đầu từ 2.0 😃 )

Tạm thời nhẹ nhàng này. Tiếp theo em sẽ share về kiến trúc, thành phần (component), cài cắm và cách sử dụng....Hẹn các bác bài tiếp


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí