|NO.Z.00059|——————————|BigDataEnd|——|Hadoop&PB级数仓.V01|——|PB数仓.v01|调度系统Airflow|简介|

一、任务调度系统Airflow
### --- Airflow简介

~~~     Airflow 是 Airbnb 开源的一个用 Python 编写的调度工具。
~~~     于 2014 年启动,2015年春季开源,2016 年加入 Apache 软件基金会的孵化计划。
~~~     Airflow将一个工作流制定为一组任务的有向无环图(DAG),
~~~     并指派到一组计算节点上,根据相互之间的依赖关系,有序执行。
### --- Airflow 有以下优势:

~~~     灵活易用。Airflow 是 Python 编写的,工作流的定义也使用 Python 编写;
~~~     功能强大。支持多种不同类型的作业,
~~~     可自定义不同类型的作业。如 Shell、Python、Mysql、Oracle、Hive等;
~~~     简洁优雅。作业的定义简单明了;
~~~     易扩展。提供各种基类供扩展,有多种执行器可供选择;
二、任务调度系统Airflow架构
### --- 体系架构

~~~     Webserver 守护进程。接受 HTTP 请求,通过 Python Flask Web 应用程序与airflow 进行交互。
~~~     Webserver 提供功能的功能包括:中止、恢复、触发任务;
~~~     监控正在运行的任务,断点续跑任务;查询任务的状态,日志等详细信息。
~~~     Scheduler 守护进程。周期性地轮询任务的调度计划,以确定是否触发任务执行。
~~~     Worker 守护进程。Worker负责启动机器上的executor来执行任务。使用
~~~     celeryExecutor后可以在多个机器上部署worker服务。
### --- 重要概念

~~~     # DAG(Directed Acyclic Graph)有向无环图
~~~     在Airflow中,一个DAG定义了一个完整的作业。同一个DAG中的所有Task拥有相同的调度时间。
~~~     # 参数:
~~~     dag_id:唯一识别DAG
~~~     default_args:默认参数,如果当前DAG实例的作业没有配置相应参数,
~~~     则采用DAG实例的default_args中的相应参数
~~~     schedule_interval:配置DAG的执行周期,可采用crontab语法
~~~     # Task
~~~     Task为DAG中具体的作业任务,依赖于DAG,必须存在于某个DAG中。
~~~     Task在DAG中可以配置依赖关系

~~~     # 参数:
~~~     dag:当前作业属于相应DAG
~~~     task_id:任务标识符
~~~     owner:任务的拥有者
~~~     start_date:任务的开始时间

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(33)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示