Airflow“3分钟上手”教程:用Python定义定时数据清洗任务

一、第1步:快速安装Airflow(1分钟)

Docker一键部署(推荐)

复制代码
bash

# 克隆官方项目(含Docker配置) git clone https://gitcode.com/GitHub_Trending/ai/airflow cd GitHub_Trending/ai/airflow # 启动开发环境(自动安装依赖) ./breeze start-airflow

验证 :访问 http://localhost:8080,默认账号密码均为 airflow。

---

二、第2步:写Python数据清洗DAG(1分钟)

创建DAG文件

在 airflow/dags 目录下新建 datacleaning_dag.py:

复制代码
python

from airflow import DAG from airflow.operators.python import PythonOperator from datetime import datetime, timedelta import pandas as pd # 1. 定义数据清洗函数 def clean_data(): # 读取原始数据(假设本地有raw_data.csv) df = pd.read_csv('/opt/airflow/dags/raw_data.csv') # 清洗逻辑:去重、删空值 df = df.drop_duplicates().dropna().reset_index(drop=True) # 保存清洗后数据 df.to_csv('/opt/airflow/dags/cleaned_data.csv', index=False) # 2. 定义DAG(定时任务流程) with DAG( dag_id='daily_data_cleaning', # DAG名称 start_date=datetime(2023, 1, 1), # 开始日期 schedule_interval='@daily', # 调度频率:每天执行 catchup=False # 不回溯执行历史任务 ) as dag: # 3. 创建任务(调用Python函数) clean_task = PythonOperator( task_id='clean_data_task', # 任务ID python_callable=clean_data # 绑定清洗函数 ) # 4. 设置任务依赖(单任务无需依赖,多任务用 >> 连接) clean_task

三、第3步:启动调度与监控(1分钟)

1. 启动Airflow服务
复制代码
bash

# 启动Web服务器(后台运行) airflow webserver -D -p 8080 # 启动调度器(处理定时任务) airflow scheduler -D

2. 在Web界面监控任务

访问 http://localhost:8080,在DAG列表中找到 daily_data_cleaning,点击 ▶️ 启动。

  • 状态说明:绿色表示成功,红色表示失败,点击任务可查看日志(如数据路径错误、依赖缺失等)。

关键说明 智优达

  • 调度频率 :schedule_interval 支持 cron 表达式(如 0 8 * * * 每天8点执行)或预设值(@hourly 每小时、@weekly 每周)。
  • 文件路径 :Airflow容器内路径需挂载本地目录(如 -v /本地数据目录:/opt/airflow/dags),确保能读取 raw_data.csv。
相关推荐
懂点Tech6 小时前
ctfshow misc28:GIF 高度修改解题与脚本实现
开发语言·windows·python
comedate6 小时前
SMLib 的 Examples 导读:PyAPI / SM_API / SMLib 三组示例怎么读
python·cad·smlib·examples·sm_api
云和数据.ChenGuang6 小时前
Python 重写(Override)深度解析:从 MRO 到 super() 的完整机制
java·开发语言·人工智能·python·langchain·1024程序员节
西西木科技丨Shopify开发机构7 小时前
CalDigit TS4案例:AI产品图的Shopify整站接入与验收
人工智能·shopify·独立站
川石课堂软件测试7 小时前
学习软件测试需掌握的一些知识
数据库·python·sql·功能测试·网络协议·mysql·http
2601_965448877 小时前
AI视频制作:做系列节气民俗视频音色不统一,AI 音色克隆省事的方法
人工智能·机器学习·音视频
美狐美颜SDK开放平台7 小时前
视频美颜SDK试用DEMO阶段应该测试什么?直播APP接入实操指南
开发语言·人工智能·深度学习·音视频·美颜sdk·直播美颜sdk·第三方美颜sdk
dtq04247 小时前
C++小案例 - 日志实战
开发语言·c++
HRaitest7 小时前
秋招技术岗招聘提效:三类 AI 招聘方案的技术底层与选型逻辑
大数据·人工智能·求职招聘·ai-native
天远数科8 小时前
零信任架构实战:基于天远企业股权变更构建自动化商业银行对公授信存续期股权异动与资产抽逃预警网关
运维·人工智能·架构·自动化