Apache Airflow 快速入门教程

Apache Airflow已经成为Python生态系统中管道编排的事实上的库。与类似的解决方案相反,由于它的简单性和可扩展性,它已经获得了普及。在本文中,我将尝试概述它的主要概念,并让您清楚地了解何时以及如何使用它。

Airflow应用场景

想象一下,你想要构建一个机器学习管道,它由以下几个步骤组成:

  • 从基于云的存储中读取图像数据集
  • 处理图像
  • 使用下载的图像训练深度学习模型
  • 将训练好的模型上传到云端
  • 部署模型

你将如何安排和自动化这个工作流程?Cron作业是一个简单的解决方案,但它也带来了许多问题。最重要的是,它们不允许你有效地扩展。Airflow提供了轻松调度和扩展复杂数据流程编排的能力,另一方面,它还能够在故障后自动重新运行它们,管理它们的依赖关系,并使用日志和仪表板监视它们。

在构建上述数据流之前,让我们先了解Apache Airflow 的基本概念。

Airflow 简介

Apache Airflow 是一个开源的平台,用于编排、调度和监控工作流,工作流是由一系列任务(Tasks)组成的,这些任务可以是数据处理、数据分析、机器学习模型训练、文件传输等各种操作。因此,它是ETL和MLOps用例的理想解决方案。示例用例包括:

  • 从多个数据源提取数据,对其进行聚合、转换,并将其存储在数据仓库中。
  • 从数据中提取见解并将其显示在分析仪表板中
  • 训练、验证和部署机器学习模型

核心组件

在默认版本中安装Apache Airflow 时,你将看到四个不同的组件。

  • Webserver: Webserver是Airflow的用户界面(UI),它允许您在不需要CLI或API的情况下与之交互。从那里可以执行和监视管道,创建与外部系统的连接,检查它们的数据集等等。
  • 执行器:执行器是管道运行的机制。有许多不同类型的管道在本地运行,在单个机器中运行,或者以分布式方式运行。一些例子是LocalExecutor, SequentialExecutor, CeleryExecutor和KubernetesExecutor
  • 调度器:调度器负责在正确的时间执行不同的任务,重新运行管道,回填数据,确保任务完成等。
  • PostgreSQL:存储所有管道元数据的数据库。这通常是Postgres,但也支持其他SQL数据库。

安装Airflow最简单的方法是使用docker compose。你可以从这里下载官方的docker撰写文件:

$ curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.5.1/docker-compose.yaml'

在这里插入图片描述

基本概念

要学习Apache Airflow,必须熟悉它的主要概念,这些概念可能有点难理解,让我们试着揭开它们的神秘面纱。

DAGs

所有管道都定义为有向无环图(dag)。每次执行DAG时,都会创建一个单独的运行。每个DAG运行都是独立的,并且包含一个关于DAG执行阶段的状态。这意味着相同的dag可以并行执行多次。

要实例化DAG,可以使用DAG函数或与上下文管理器一起使用,如下所示:

from airflow import DAG
with DAG(
    "mlops",
    default_args={
   
        "retries": 1,
     },
    schedule=timedelta(days=1),
    start_date=datetime(2023,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值