Airflow 入门

简介

Airflow是什么

Airflow是airbnb开发的一个任务调度平台,目前已经加入apache基金会

Airflow有什么用

Airflow是一个可编程,调度和监控的工作流平台。基于有向无环图(DAG),airflow可以定义一组有依赖的任务,按照依赖依次执行。 airflow不仅提供了丰富的命令行工具用于系统管控,还提供了一套web管理界面用于方便地管控调度任务,并且对任务运行状态进行实时监控,方便了系统的运维和管理。

因此,如果有一系列的任务需要调度,同时,各任务之间还有着依赖关系,那么可以考虑使用airflow。

与Airflow同类型的产品

有兴趣的同学可以阅读以下链接

Workflow Processing Engine Overview 2018 英文版

2018工作流引擎比较 中文版

Airflow official Tutorial

official tutorial

"""
Code that goes along with the Airflow tutorial located at:
https://github.com/apache/airflow/blob/master/airflow/example_dags/tutorial.py
"""
from airflow import DAG
# 需要使用DAG实例化一个DAG的对象,因此,DAG是必须的
from airflow.operators.bash_operator import BashOperator
from datetime import datetime, timedelta"""
default_args是一个词典,之后会将此词典传入DAG的构造函数中.
DAG中的task在构造时将会这些值来初始化。
这种设计是将一些公共的配置提出来,
尤其是一些实例化task必备的参数,例如'owner'等。
更多可用的参数请参考 https://airflow.apache.org/code.html#airflow.models.BaseOperator
""""
default_args = {'owner': 'airflow','depends_on_past': False,'start_date': datetime(2015, 6, 1),'email': ['airflow@example.com'],'email_on_failure': False,'email_on_retry': False,'retries': 1,'retry_delay': timedelta(minutes=5),# 'queue': 'bash_queue',# 'pool': 'backfill',# 'priority_weight': 10,# 'end_date': datetime(2016, 1, 1),
}"""
实例化一个DAG对象,实例化DAG时必须传入一个独一无二的tag_id,然后将之前定义好的默认参数传入,同时,也传入了schedule_interval
"""
dag = DAG('tutorial', default_args=default_args, schedule_interval=timedelta(days=1))# t1, t2 and t3 are examples of tasks created by instantiating operators
"""
task 是BashOperator的实例
task_id同来标致task
bash_command 是执行的命令
dag为之前实例化的DAG对象
"""
t1 = BashOperator(task_id='print_date',bash_command='date',dag=dag)t2 = BashOperator(task_id='sleep',bash_command='sleep 5',retries=3, # 可以重写默认的参数dag=dag)# Jinja模板
templated_command = """{% for i in range(5) %}echo "{{ ds }}" # 变量echo "{{ macros.ds_add(ds, 7)}}" #函数echo "{{ params.my_param }}" # 词典{% endfor %}
"""t3 = BashOperator(task_id='templated',bash_command=templated_command, params={'my_param': 'Parameter I passed in'},dag=dag)t2.set_upstream(t1)
t3.set_upstream(t1)
# 等价于 t1 >> [t2, t3]
复制代码

Airflow 实践

Airflow安装

install

pip install apache-airflow

如果出现安装失败或者初始化db失败,可以看下是否是因为某个包安装失败或者版本不匹配,然后针对性地安装相关包即可

转载于:https://juejin.im/post/5c9618b8f265da60f16323b4

airflow零基础入门相关推荐

  1. python 二进制流转图片_Python零基础入门到精通-5.1节:Python程序的执行过程

    教程引言: 系统地讲解计算机基础知识,Python的基础知识, 高级知识,web开发框架,爬虫开发,数据结构与算法,nginx, 系统架构.一步步地帮助你从入门到就业. 5.1.1 在命令行中执行Py ...

  2. 【JAVA零基础入门系列】Day2 Java集成开发环境IDEA

    [JAVA零基础入门系列](已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day ...

  3. 零基础入门jQuery视频教程

    零基础入门jQuery最新版开发.NET富客户端应用(选择器.DOM操作.事件和动画.Ajax应用.插件.Mobile) 课程分类:.NET+Jquery 适合人群:初级 课时数量:35课时 用到技术 ...

  4. 【组队学习】【24期】零基础入门语音识别(食物声音识别)

    零基础入门语音识别(食物声音识别) 开源内容: https://github.com/datawhalechina/team-learning-nlp/tree/master/FoodVoiceRec ...

  5. 【组队学习】【23期】Datawhale零基础入门数据挖掘(心跳信号分类)

    零基础入门数据挖掘(心跳信号分类) 开源内容:https://github.com/datawhalechina/team-learning-data-mining/tree/master/Heart ...

  6. 零基础入门CV赛事,理论结合实践

    Datawhale干货 作者:阿水,Datawhale成员 本次分享的背景是,Datawhle联合天池发布的学习赛:零基础入门CV赛事之街景字符识别.本文以该比赛为例,对计算机视觉赛事中,赛事理解和B ...

  7. 「建模调参」之零基础入门数据挖掘

    Datawhale 作者:徐韬 ,Datawhale优秀学习者 摘要:对于数据挖掘项目,本文将学习如何建模调参?从简单的模型开始,如何去建立一个模型:如何进行交叉验证:如何调节参数优化等. 建模调参: ...

  8. 「特征工程」之零基础入门数据挖掘

    Datawhale 作者:吴忠强,Datawhale优秀学习者 摘要:对于数据挖掘项目,本文将学习应该从哪些角度做特征工程?从哪些角度做数据清洗,如何对特征进行增删,如何使用PCA降维技术等. 特征工 ...

  9. 「数据分析」之零基础入门数据挖掘

    Datawhale 作者:王瑞楠,Datawhale优秀学习者 摘要:对于数据挖掘项目,本文将学习应该从哪些角度分析数据?如何对数据进行整体把握,如何处理异常值与缺失值,从哪些维度进行特征及预测值分析 ...

最新文章

  1. 迁移学习,让深度学习不再困难……
  2. java 线程池原理分析
  3. stm32IAP代码升级小结
  4. 服务器修改mime类型,服务器上没有设置mime类型
  5. Asp.Net Core实战
  6. 做决定前别拍脑袋:两个成功案例看懂A/B测试
  7. Zblog极致·APP下载单页主题
  8. Adobe Dreamweaver 2021下载与安装教程
  9. Python菜鸟教程学习笔记
  10. hard sigmoid函数
  11. php源码后台密码被改了,帝国cms后台密码重置插件后台密码恢复找回密码工具
  12. 知识图谱概论(二):概念具象化描述
  13. python程序30行_30行Python代码刷王者荣耀金币,还怕没有金币买英雄?
  14. 微信开发获取签名wx.config
  15. 150 个 word 常用文书模板 推荐(附下载地址)
  16. 流氓软件自动安装恶意插件导致浏览器闪退问题
  17. 2022最常用且好用的IDEA插件
  18. 把图片转换成视频-ffmpeg
  19. map什么意思java_map的意思是什么,java中Maplt;?,?gt;是什么意思
  20. 网际协议IP(计算机网络)

热门文章

  1. 疯狂.NET架构通用权限后台管理工具演示版2.0下载
  2. HBase+Phoenix整合入门--集群搭建
  3. jsr133-第一二章
  4. 【C#每日一贴】ArrayList 转换成byte数组
  5. 先判断对象是否为NULL再进行操作
  6. php pclzip.lib.php,php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
  7. 实现歌词效果自动滚动_只需五步,专业Pr软件实现视频歌词渐变色效果,你学会了吗?...
  8. 配置MySQL8.0
  9. MySQL高级 - 日志 - 慢查询日志
  10. MySQL高级 - 查询缓存 - 开启查询缓存