SuperAPI AI 工具集

airflow

数据与分析

查看项目

更新于 10-15 19:55

技能介绍

用途:Airflow 是开源工作流编排工具,用 Python 编写有向无环图(DAG)来表示任务依赖与执行流程,用于定义、调度和监控数据管道。适合 ETL、批处理、带依赖的复杂工作流等周期性数据任务,需要动态调度、重试和监控的数据工程场景。

主要能力:以 Python 定义 DAG,指定任务、依赖与调度;内置调度器按 cron 式间隔运行任务;Web UI 提供实时监控、任务日志与 DAG 状态(如 /admin/);提供 BashOperator、PythonOperator 等算子;可扩展 hooks 集成,如 PostgresHook;通过 airflow.cfg 配置,如 [core] executor = LocalExecutor。

使用方式:pip install apache-airflow 安装,airflow db init 初始化数据库,DAG 放在 Airflow 主目录的 dags 文件夹。建议使用虚拟环境,可用 $AIRFLOW_UID 做用户隔离。常用命令:airflow webserver --port 8080、airflow scheduler、airflow dags trigger my_dag、airflow dags list。REST API 需在 airflow.cfg 启用,如 GET /api/v1/dags、POST /api/v1/dags/{dag_id}/dagRuns,需 API token。

集成与错误处理:可用 Variables 或 Connections 管理密钥,环境变量如 $AIRFLOW_CONN_POSTGRES_DEFAULT;与 Spark 用 SparkSubmitOperator,与 AWS 用 S3Hook,Kubernetes 用 KubernetesPodOperator。任务可设 retries、retry_delay、on_failure_callback,日志可通过 Web UI 或 airflow tasks logs 查看。

限制:资料未提供收费、价格、平台支持范围等信息。