Giới thiệu về Apache Airflow

Giới thiệu về Apache Airflow bằng Python

Mike Metzger

Data Engineer

Workflow là gì?

  • Workflow - Tập bước để thực hiện một quy trình kỹ thuật dữ liệu

 

  • Ví dụ: Tải tệp, sao chép dữ liệu, lọc thông tin, ghi vào cơ sở dữ liệu

Sơ đồ workflow với các bước tuần tự từ tải tệp đến ghi vào cơ sở dữ liệu

Giới thiệu về Apache Airflow bằng Python

Airflow là gì?

Airflow - nền tảng điều phối workflow:

  • Tạo
  • Lập lịch
  • Giám sát

 

Logo Apache Airflow

   

Biểu tượng đại diện cho tạo, lập lịch và giám sát workflow

Giới thiệu về Apache Airflow bằng Python

Airflow là gì?

  • Có thể gọi chương trình từ bất kỳ ngôn ngữ nào, nhưng workflow viết bằng Python
  • Hiện thực hóa workflow dưới dạng Dag
  • Truy cập qua giao diện web, mã, dòng lệnh hoặc REST API
  • Dùng cho pipeline ETL, quy trình ML, tự động hóa, v.v.

 

Logo Apache Airflow

Giới thiệu về Apache Airflow bằng Python

Giới thiệu nhanh về Dag

Dag - mô hình biểu diễn mọi thứ cần để chạy một workflow.

  • Gồm các tác vụ và quan hệ phụ thuộc của chúng
  • Tạo với các chi tiết như tên, email, chủ sở hữu

Ví dụ Dag với các tác vụ nối bằng mũi tên phụ thuộc

Giới thiệu về Apache Airflow bằng Python

Các thành phần của Airflow

  • Scheduler - Kích hoạt quy trình theo lịch, gửi tác vụ
  • API Server - Cung cấp truy cập an toàn, thống nhất vào nền tảng Airflow
  • Dag processor - Được scheduler đọc để quyết định chạy tác vụ nào và khi nào
  • Metadata database - Lưu trạng thái của Dag và tác vụ

Sơ đồ các thành phần Airflow: scheduler, API server, Dag processor và metadata database

Giới thiệu về Apache Airflow bằng Python

Chạy quy trình trong Airflow UI

Giao diện Dags của Airflow hiển thị hai Dag đã tải với các tùy chọn tương tác

Giới thiệu về Apache Airflow bằng Python

Chạy quy trình trong Airflow UI

Giao diện Dags với nút kích hoạt (play) được tô sáng

Giới thiệu về Apache Airflow bằng Python

Chạy quy trình trong Airflow UI

Cửa sổ bật lên Trigger Dag với tùy chọn chạy mặc định và nút Trigger

Giới thiệu về Apache Airflow bằng Python

Chạy quy trình trong Airflow UI

Giao diện Dags hiển thị lượt chạy gần nhất thành công với dấu kiểm xanh

Giới thiệu về Apache Airflow bằng Python

Chạy quy trình trong Airflow UI

Chế độ xem tác vụ của lượt chạy Dag hiển thị chi tiết từng tác vụ như generate_random_number

Giới thiệu về Apache Airflow bằng Python

Ayo berlatih!

Giới thiệu về Apache Airflow bằng Python

Preparing Video For Download...