授权协议 Apache
开发语言 Python
操作系统 跨平台
软件类型 开源软件
所属分类 大数据其他
开源组织 Apache
地区 不详
投 递 者 红薯
适用人群 未知
收录时间 2015-06-18

软件简介

Airflow 被 Airbnb 内部用来创建、监控和调整数据管道。任何工作流都可以在这个使用 Python 编写的平台上运行(目前加入 Apache 基金会孵化器)。

Airflow 允许工作流开发人员轻松创建、维护和周期性地调度运行工作流(即有向无环图或成为DAGs)的工具。在Airbnb中,这些工作流包括了如数据存储、增长分析、Email发送、A/B测试等等这些跨越多部门的用例。这个平台拥有和 Hive、Presto、MySQL、HDFS、Postgres和S3交互的能力,并且提供了钩子使得系统拥有很好地扩展性。除了一个命令行界面,该工具还提供了一个    基于Web的用户界面让您可以可视化管道的依赖关系、监控进度、触发任务等。 

Airflow 包含如下组件:

  • 一个元数据库(MySQL或Postgres)

  • 一组Airflow工作节点

  • 一个调节器(Redis或RabbitMQ)

  • 一个Airflow Web服务器

截图:

管道定义示例:

"""
Code that goes along with the Airflow tutorial located at:
https://github.com/airbnb/airflow/blob/master/airflow/example_dags/tutorial.py
"""
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import datetime, timedelta


default_args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'start_date': datetime(2015, 6, 1),
    'email': ['airflow@airflow.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('tutorial', default_args=default_args)

# t1, t2 and t3 are examples of tasks created by instantiating operators
t1 = BashOperator(
    task_id='print_date',
    bash_command='date',
    dag=dag)

t2 = BashOperator(
    task_id='sleep',
    bash_command='sleep 5',
    retries=3,
    dag=dag)

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)
展开阅读全文

代码

评论 (2)

加载中
https://my.oschina.net/u/590882/blog/1798060 搭建过程
2018/04/19 19:28
回复
举报
if8
这软件那么不火吗
2017/03/14 09:22
回复
举报
更多评论
10/31 09:41

Apache Airflow 2.2.1 发布,Airbnb 开源的调度系统

Apache Airflow 2.2.1 已正式发布,Airflow 是一个灵活、可扩展的工作流自动化和调度系统,可编集和管理数百 PB 的数据流。项目可轻松编排复杂的计算工作流,通过智能调度、数据库和依赖关系管理、错误处理和日志记录,Airflow 可以对从单个服务器到大规模集群的资源进行自动化管理。Airflow 采用 Python 编写,具有高扩展性,能够运行其他语言编写的任务,并允许与常用的体系结构和项目集成,如 AWS S3、Docker、Kubernetes、M...

2
7
发表于数据库专区
10/13 06:57

Apache Airflow 2.2.0 发布,Airbnb 开源的调度系统

Apache Airflow 2.2.0 已正式发布,Airflow 是一个灵活、可扩展的工作流自动化和调度系统,可编集和管理数百 PB 的数据流。项目可轻松编排复杂的计算工作流,通过智能调度、数据库和依赖关系管理、错误处理和日志记录,Airflow 可以对从单个服务器到大规模集群的资源进行自动化管理。Airflow 采用 Python 编写,具有高扩展性,能够运行其他语言编写的任务,并允许与常用的体系结构和项目集成,如 AWS S3、Docker、Kubernetes、M...

0
8
09/20 07:49

Apache Airflow 2.1.4 发布,Airbnb 开源的调度系统

Apache Airflow 2.1.4 已正式发布,Airflow 是一个灵活、可扩展的工作流自动化和调度系统,可编集和管理数百 PB 的数据流。项目可轻松编排复杂的计算工作流,通过智能调度、数据库和依赖关系管理、错误处理和日志记录,Airflow 可以对从单个服务器到大规模集群的资源进行自动化管理。Airflow 采用 Python 编写,具有高扩展性,能够运行其他语言编写的任务,并允许与常用的体系结构和项目集成,如 AWS S3、Docker、Kubernetes、M...

0
13
发表于软件架构专区
01/05 07:20

Apache Airflow 2.0 发布,Airbnb 开源的调度系统

Apache Airflow 2.0.0 已正式发布,Airflow 是一个灵活、可扩展的工作流自动化和调度系统,可编集和管理数百 PB 的数据流。项目可轻松编排复杂的计算工作流,通过智能调度、数据库和依赖关系管理、错误处理和日志记录,Airflow 可以对从单个服务器到大规模集群的资源进行自动化管理。Airflow 采用 Python 编写,具有高扩展性,能够运行其他语言编写的任务,并允许与常用的体系结构和项目集成,如 AWS S3、Docker、Kubernetes、M...

4
25
发表于AI & 大数据专区
2019/01/09 08:16

Apache 基金会宣布 Apache Airflow 毕业成为顶级项目

Apache 软件基金会宣布,Apache Airflow 已经成功地从孵化毕业,成为基金会的一个新的顶级项目。 Apache Airflow 是一个灵活、可扩展的工作流自动化和调度系统,可编集和管理数百 PB 的数据流。项目可轻松编排复杂的计算工作流,通过智能调度、数据库和依赖关系管理、错误处理和日志记录,Airflow 可以自动化从单个服务器到大规模集群的资源管理。项目采用 Python 编写,具有高扩展性,能够运行其他语言编写的任务,并允许与常用...

4
43
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2018/02/07 16:05

airflow

教程:https://airflow.apache.org/docs/stable/index.html 官网: http://airflow.incubator.apache.org/index.html airflow源码:https://github.com/apache/incubator-airflow 参考资料:http://www.open-open.com/lib/view/open1452002876105.html 简介:http://www.cnblogs.com/xianzhedeyu/p/8047828.html 重要参数介绍:http://www.cnblogs.com/skyrim/p/7456166.html http://blog.csdn.net/permike/article/details/521...

0
0
发表了博客
2018/08/28 20:36

airflow 笔记

首先是一个比较好的英文网站,可能要fq:http://site.clairvoyantsoft.com/installing-and-configuring-apache-airflow/ ======================================================== py3venv 在 mkdir ~/airflow/py3venv 执行:python3 -m venv ~/airflow/py3venv 进入python3 环境:source /home/airflow/py3venv/bin/activate 以后的所有操作都进到 py3venv 的python3 环境操作 ============================================...

0
0
发表了博客
2018/01/12 10:13

airflow的安装

1.环境准备 1.1 安装环境 1.2 创建用户 2.安装airflow 2.1 安装python 2.2 安装pip 2.3 安装数据库 2.4 安装airflow 2.4.1 安装主模块 2.4.2 安装数据库模块、密码模块 2.5 配置airflown 2.5.1 设置环境变量 2.5.2 修改配置文件 3. 启动airflow 3.1 初始化数据库 3.2 创建用户 3.3 启动airflow 4.执行任务 5.安装celery 5.1 安装celery模块 5.2 安装celery broker 5.2.1 使用RabbitMQ作为broker 5.2.2 使用Redis做为broker 5.3 ...

0
0
发表了博客
2019/07/04 22:48

【异常】lockfile.AlreadyLocked: ~/airflow/airflow-scheduler.pid is already locked

1 完整异常信息 File "/usr/bin/airflow", line 32, in <module> args.func(args) File "/usr/lib/python2.7/site-packages/airflow/utils/cli.py", line 74, in wrapper return f(*args, **kwargs) File "/usr/lib/python2.7/site-packages/airflow/bin/cli.py", line 1000, in scheduler with ctx: File "/usr/lib/python2.7/site-packages/daemon/daemon.py", line 397, in __enter__ self.ope...

0
0
发表了博客
2018/02/27 17:29

airflow笔记

官网:http://airflow.incubator.apache.org/project.html Here we pass a string that defines the dag_id, which serves as a unique identifier for your DAG. The first argument task_id acts as a unique identifier for the task. The precedence rules for a task are as follows: Explicitly passed arguments Values that exist in the default_args dictionary The operator’s default value, if one exists A task...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
2 评论
85 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部