网站首页 服务项目 客户案例 我们优势 主机域名 关于黑羽 联系黑羽

资讯中心
了解网站建设资讯引领网站建设开发方向
2022年,闲聊 Airflow 2.2


Airflow[1]是一个分布式任务调度框架,可以把具有上下级依赖关系的工作流组装成一个有向无环图[2]; 有向无环图长得就如下一般:图片

说的云里雾里的,那么Airflow究竟是什么呢?简单说,airflow就是一个平台,你可以在这个平台上创建、管理、执行自定义的工作流,这里的工作流就是前面所说的有向无环图,如上图所示一样,有向无环图是由一系列单独运行的task组合而成,任务之间的前后排列取决于任务之间处理的关系或者数据的流转的方向,而这里的工作流有一个很专业的名字叫DAG(Directed Acyclic Graph),我相信看到这里,你心中应该有些许概念了。
既然知道Airflow是什么了,那么它究竟能解决平常工作中的哪些问题呢?下面就需要聊聊具体的使用场景了:
现在你觉得Airflow是不是在工作中还真有点用,有没有一些共同的痛点呢?既然了解了airflow的作用,那就走进的airflow,熟悉一下airflow的组件架构。

Airflow架构图
见名知意,它就是一线干活的,用来处理DAG中定义的具体任务
是airflow中一个管事的组件,用于周期性轮询任务的调度计划,然后将任务分发给执行的程序运行工作流
webserver是Airflow中通过flask框架整合管理界面,可以让你通过http请求与airflow通信来管理airflow,可以通过界面的方式查看正在运行的任务,以及任务的运行状态、运行日志等等,
通过管理界面创建、触发、中止任务让airflow使用变得更加简单。如下图所示,当然这也是airflow的一个绝大优势。

Airflow Dashboard
airflow的元数据数据库,供scheduler、worker和webserver用来存储状态。
从整体上看Airflow的组件架构不是很复杂,当然这里的我们也进行了一些其他任务编排工具,对比一下

编排工具的受欢迎度
总体而言,Apache Airflow既是最受欢迎的工具,也是功能最广泛的工具。
luigi与airflow都是使用python和dag定义任务和依赖项,但是luigi在架构和使用上相对更加的单一和简单,同时airflow因为拥有丰富的UI和计划任务方便显示更胜一筹,而luigi需要更多的自定义代码实现的计划任务的功能
airflow与argo都可以将任务定义为DAG,但是在Airflow中,您可以使用Python进行此操作,而在Argo中,要使用YAML
Airflow是一个通用的任务编排平台,而Kubeflow特别专注于机器学习任务,两种工具都使用Python定义任务,但是Kubeflow在Kubernetes上运行任务。Kubeflow分为Kubeflow和Kubeflow管道:后一个组件允许您指定DAG,但与常规任务相比,它更侧重于部署和监控模型。
Airflow是一个通用的任务编排平台,而MLFlow是专门为优化机器学习项目而构建的。这意味着MLFlow具有运行和跟踪实验,以及训练和部署机器学习模型的功能,而Airflow适用于更广泛的用例,您可以使用它来运行任何类型的任务。
Airflow是一组管理和计划任务的模块的集合,MLFlow是一个纯粹的Python库,您可以将其导入到现有的机器学习代码中。
从了解Airflow的概念,到使用场景,已然对airflow这种编排工具有一定的了解,通过拆分了解airflow组件架构,又进一步对airflow的工作流程有一个初步的认识,通过与其他编排工具对比,了解的airflow的优势以及结合自身的使用场景,更加有助于判断,对编排工具选型的重要性。下一步,就将在实践中在深一步走进airflow。
网页制作的服务
网站开发服务
自贡黑羽网络品牌建站
自贡本地做网站就选黑羽网络
Tel:0813-5104030 15348110304 QQ或微信:22232591
地址:四川省自贡市自流井区丹佳大街泰丰大厦写字楼19楼10号
Copyright © 2018-2058 自贡黑羽网络科技有限公司 All rights reserved. ICP备案号 : ICP备12014994号-1 技术支持:黑羽网络
自贡网站建设,网页设计制作与开发,自贡网络公司推荐品牌,关键词: 自贡网站制作 自贡做网站 自贡网络公司 自贡网页制作 自贡做网站 网站地图xml 网站地图html 网站地图txt