Hướng Dẫn Cài Đặt Apache Airflow Trong 10 Phút
Có thể bạn đang làm việc trong lĩnh vực trí tuệ nhân tạo nhưng bất ngờ được giao nhiệm vụ xử lý dữ liệu, hoặc đơn giản là sếp thách thức khả năng của bạn. Điều đó không quan trọng, quan trọng là bạn cần phải cài đặt Apache Airflow ngay lập tức. Vậy thì chúng ta bắt đầu nhé!
I. Airflow Làm Gì?
Nhiều người có thể đã tìm hiểu về Apache Airflow nhưng không rõ ràng về nó. Theo kinh nghiệm của mình, Airflow là một công cụ giúp lên lịch và quản lý các tác vụ một cách hiệu quả. Nó cung cấp giao diện trực quan và cho phép chạy song song nhiều tác vụ. Điều này cực kỳ hữu ích nếu bạn cần tự động hóa việc chạy mã hàng ngày, kiểm tra mã, theo dõi kết quả và kiểm tra lỗi thông qua log.
II. Bắt Đầu Cài Đặt Airflow
Khuyến khích sử dụng Ubuntu để cài đặt, vì cài đặt trên Windows có thể gặp nhiều cảnh báo không cần thiết.
Bước 1: Cài Đặt Docker
Nếu bạn đã cài đặt Docker, thật tuyệt! Nếu chưa, hãy làm theo các bước đơn giản sau:
- Cài đặt Docker Engine từ đây.
- Tải Docker Compose nếu bạn chưa có, từ đường dẫn này.
Lưu ý: Lý do chọn Docker để cài đặt Airflow là vì nó nhanh chóng, giảm thiểu việc cấu hình hàng loạt, và tránh xung đột giữa các dự án. Nếu bạn cài đặt theo phương pháp thông thường, sau này bạn sẽ cần phải thiết lập thêm Celery và Redis để chạy nhiều worker, khá phiền phức.
Bước 2: Tải File docker-compose.yaml
Mở terminal và đến thư mục bạn muốn cài đặt Airflow, sau đó chạy lệnh sau:
bash
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.9.1/docker-compose.yaml'
Nếu bạn gặp vấn đề về mạng, bạn có thể tự động tạo file docker-compose.yaml
trong thư mục và sao chép nội dung từ link trên vào đó.
Bước 3: Thiết Lập Một Số Thư Mục Cần Thiết
Giữ cửa sổ terminal mở và gõ:
Trên Linux:
bash
mkdir -p ./dags ./logs ./plugins ./config
echo -e "AIRFLOW_UID=$(id -u)" > .env
Trên Windows:
- Tạo 4 thư mục:
dags
,logs
,plugins
,config
. - Tạo file
.env
và điềnAIRFLOW_UID=50000
vào đó.
Bước 4: Khởi Chạy Airflow
Bây giờ, để dựng Airflow và tích hợp cơ sở dữ liệu, bạn chỉ cần chạy lệnh sau:
bash
docker compose up
(Với tùy chọn -d
nếu bạn muốn chạy trong chế độ nền).
Chờ khoảng 5 phút. Nếu sử dụng Ubuntu, chỉ cần đợi; với Windows, có thể sẽ có một số thông báo tường lửa, hãy chấp nhận để tiếp tục.
Hãy chú ý tới dòng trên terminal, khi thấy thông báo rằng webserver đang chạy trên cổng 8080 thì bạn đã sẵn sàng.
Bước 5: Khám Phá Giao Diện Web
Để tương tác với Airflow, bạn hãy truy cập localhost:8080
trên trình duyệt web. Giao diện rất thân thiện và cung cấp nhiều ví dụ mẫu để bạn tham khảo. Tuy nhiên, tôi thường tắt những ví dụ này để giữ giao diện sạch sẽ và chỉ hiển thị các DAG của riêng mình.
Bước 6: Thiết Kế DAG
DAG (Directed Acyclic Graph) là cấu trúc giúp thiết kế luồng chạy các tác vụ. Airflow hiện đã hỗ trợ cách thiết kế DAG mới nhất thông qua Taskflow API. Dưới đây là mã minh họa cho DAG:
python
from airflow import DAG
from airflow.operators.dummy import DummyOperator
from airflow.utils.dates import days_ago
from airflow.decorators import dag, task
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'email_on_failure': False,
'email_on_retry': False,
}
@dag(
dag_id='example_dag_decorator',
default_args=default_args,
description='An example DAG using @dag decorator',
schedule_interval=None,
start_date=days_ago(1),
tags=['example'],
)
def example_dag():
start = DummyOperator(
task_id='start',
)
@task(task_id='op_1')
def op_1():
print("op_1 is running")
@task(task_id='op_2')
def op_2():
print("op_2 is running")
@task(task_id='some_other_task')
def some_other_task():
print("some_other_task is running")
@task(task_id='op_3')
def op_3():
print("op_3 is running")
@task(task_id='op_4')
def op_4():
print("op_4 is running")
end = DummyOperator(
task_id='end',
)
start >> [op_1(), op_2()] >> some_other_task() >> [op_3(), op_4()] >> end
dag_instance = example_dag()
Vậy là xong! Nếu có câu hỏi gì, hãy để lại comment nhé! 🥺👉️👈
source: viblo