Apache Airflow 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Apache Airflow 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: 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)
展开阅读全文

代码

Apache Airflow 的相关博客

airflow

教程:https://airflow.apache.org/docs/stable/index.html 官网: http://airflow.incubator.apache.org/index.html airflow...

airflow 笔记

首先是一个比较好的英文网站,可能要fq:http://site.clairvoyantsoft.com/installing-and-configuring-apache-airflow/ ====...

airflow的安装

1.环境准备 1.1 安装环境 1.2 创建用户 2.安装airflow 2.1 安装python 2.2 安装pip 2.3 安装数据库 2.4 安装airflow 2.4.1 安...

【异常】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-pa...

airflow笔记

官网:http://airflow.incubator.apache.org/project.html Here we pass a string that defines the dag_id, which serves as...

AirFlow-Install

AirFlow-Installation https://airflow.incubator.apache.org/installation.html Getting Airflow The easiest way to instal...

airflow介绍

1. airflow 介绍 1.1 airflow 是什么 Airflow is a platform to programmatically author, schedule and monitor workflows. ...

AirFlow-Tutorial

AirFlow-Tutorial https://airflow.incubator.apache.org/tutorial.html This tutorial walks you through some of the funda...

Apache Airflow 的相关问答

还没有任何问答,马上提问

评论 (2)

加载中
https://my.oschina.net/u/590882/blog/1798060 搭建过程
2018/04/19 19:28
回复
举报
if8
这软件那么不火吗
2017/03/14 09:22
回复
举报
更多评论
2 评论
63 收藏
分享
返回顶部
顶部