Airflow at Zillow
Bài tóm tắt Zillow 2017 2. Tăng trưởng Độ khó: Dễ
Zillow · 2017 · 2. Tăng trưởng · Độ khó: Dễ — bài gốc
Bối cảnh
- Team Data Science and Engineering (DSE) chạy nhiều ETL; trước đó mỗi job là một service tự lên lịch riêng. Gặp Airflow năm 2016.
Thay đổi chính
- Cụm Airflow chạy trên Amazon ECS (container, tự phục hồi webserver/scheduler/worker), metadata DB Postgres trên RDS, broker RabbitMQ (chọn thay Redis/SQS vì ổn định, chống mất dữ liệu), DAG/plugin/log trên S3, email qua SES, log về Splunk.
- Airflow chỉ chạy job nhỏ; job nặng (Spark, Hive) đẩy sang EMR qua operator SSH.
- CI/CD cho DAG: mỗi push/merge vào repo DAG tự deploy; cập nhật backend bằng một lệnh.
- Ba môi trường là ba cụm riêng: local (dev tự dựng bằng docker, có archetype cookiecutter), staging (giống prod, có kết nối ngoài), prod.
- Tháng 7/2017: khoảng 30 pipeline ETL.
Vì sao
- Orchestrator chung thay cho job tự lên lịch: DAG là code, retry/backfill/giám sát có sẵn (Pipeline dữ liệu và analytics).
Bài học cho SWE
- Tách orchestrator (nhẹ) khỏi engine tính toán (EMR) để cụm scheduler không phải lớn theo job.
- DAG cũng là code production: cần CI/CD và môi trường staging.
Liên quan
#Apache Airflow#ETL orchestration#ECS#RDS Postgres metadata DB#RabbitMQ#CI/CD for DAGs#local/staging/prod clusters#EMR via SSH operator#Splunk logs
Được nhắc tới trong
Chủ đề (1)
Công ty (1)
Bài tóm tắt (2)