Airflow快速上手指南5分钟定义、调度并监控你的数据工作流【免费下载链接】airflowApache Airflow - A platform to programmatically author, schedule, and monitor workflows项目地址: https://gitcode.com/GitHub_Trending/ai/airflowApache Airflow 是一个开源的工作流编排平台用 Python 代码描述数据任务它负责按时调度执行、自动处理重试并提供界面查看每次运行状态。适合需要定时跑批的数据工程师、分析师和运维人员。能力速览适合哪些日常场景每天定时跑批→ 到点自动执行不再守着终端手动触发任务依赖链长→ 上下游关系写进代码界面画出完整依赖图哪个环节卡住一目了然任务偶发失败→ 配置重试次数后自动再跑日志直接在界面点开从开发走向生产→ 单机一条命令起步后续可平滑迁移到容器或 Kubernetes快速跑通本地安装与启动Airflow步骤环境要求Python 3.10 及以上。全程 4 条命令python -m venv airflow_env source airflow_env/bin/activate # 创建并激活独立虚拟环境 pip install apache-airflow # 安装 Airflow 及依赖 export AIRFLOW_HOME~/airflow # 指定存放配置与日志的目录 airflow standalone # 一次性启动调度器、触发器、Web 界面等全部组件验证方式浏览器打开 http://localhost:8080能登录即部署成功。首次运行时终端会打印自动生成的用户名和密码直接用于登录。场景实战用一段DAG写出每日销售报表假设业务要求每天早上 9 点生成前一日销售报表。新建~/airflow/dags/daily_sales.pyfrom datetime import datetime from airflow import DAG from airflow.operators.python import PythonOperator def fetch_sales(): print(拉取昨日订单数据...) def clean_data(): print(去重、补齐缺失字段...) def export_report(): print(导出 CSV 报表...) with DAG( dag_iddaily_sales_report, start_datedatetime(2024, 1, 1), scheduledaily, # 每天 00:00 触发一次换成 0 9 * * * 就是每天 9 点 ) as dag: t1 PythonOperator(task_idfetch_sales, python_callablefetch_sales) t2 PythonOperator(task_idclean_data, python_callableclean_data) t3 PythonOperator(task_idexport_report, python_callableexport_report) t1 t2 t3 # 定义执行顺序前一任务成功后才轮到下一个把文件放进AIRFLOW_HOME/dags目录约一分钟内界面会出现这条 DAGDAG 即有向无环图用来描述任务间谁先谁后。每个任务依次经历 待调度 → 排队 → 运行中 → 成功/失败 的流转失败的任务会按配置自动重试重试历史和执行日志都能在任务详情页查到。走向生产按团队规模选部署与监控方案场景部署方式说明个人或小团队airflow standalone所有组件同机运行零配置起步适合验证与低量级任务中型生产Docker Compose调度器、执行器、Postgres 数据库分容器部署支持升级与故障重启大规模/多团队Kubernetes Helm chart仓库 chart/ 目录自带现成 chart支持弹性伸缩并内置 statsd / OpenTelemetry 等指标采集监控上日常靠界面查看任务成功率、执行时长和日志即可Helm 部署后可进一步接告警系统把失败率高的任务推送给值班同学。细节参见 chart/docs/production-guide.rst。高频问题新手容易卡住的3个地方问文件放好了为什么界面看不到我的 DAG答确认文件在AIRFLOW_HOME/dags目录下且文件名以.py结尾调度器按扫描周期默认约 1 分钟加载后才会出现控制台有解析报错时先修语法。问daily是几点执行想改时间怎么办答daily表示每天 00:00默认时区。想精确控制就直接写 cron 表达式如30 8 * * *表示每天 8:30。问standalone 的数据存在哪里换机器会丢吗答standalone 默认把元数据放在本地文件中换机器或重装系统就会丢失。生产环境请把后端数据库换成 Postgres 等外部数据库配置与元数据即可与运行进程解耦。小结Airflow 把什么时候跑、按什么顺序跑、失败了怎么办都收敛成一段 Python 代码本地一条命令即可体验完整闭环。更多细节可看 INSTALLING.md 和 官方教程可直接模仿的示例 DAG 在 airflow-core/src/airflow/example_dags/。【免费下载链接】airflowApache Airflow - A platform to programmatically author, schedule, and monitor workflows项目地址: https://gitcode.com/GitHub_Trending/ai/airflow创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考