Apache Airflow

Airflow 是一个以编程方式创作、安排和监控工作流的平台。

使用 Airflow 将工作流创作为任务的有向无环图 (DAG)。 Airflow 调度程序在遵循指定的依赖项的同时在一组工作人员上执行您的任务。丰富的命令行实用程序使在 DAG 上执行复杂的手术变得轻而易举。丰富的用户界面使可视化生产中运行的管道、监控进度和在需要时解决问题变得容易。

当工作流被定义为代码时,它们变得更易于维护、可版本化、可测试和协作。

原则

  • 动态:Airflow管道是配置即代码 (Python),允许动态管道生成。这允许编写动态实例化管道的代码。
  • 可扩展:轻松定义您自己的操作符、执行程序并扩展库,使其符合适合您环境的抽象级别。
  • 优雅:Airflow管道简洁明了。使用强大的 Jinja 模板引擎将脚本参数化内置到 Airflow 的核心中。
  • 可扩展:Airflow具有模块化架构,并使用消息队列来编排任意数量的工作线程。Airflow已准备好无限扩展。

超越一般

Airflow 不是数据流解决方案。任务不会将数据从一个移动到另一个(尽管任务可以交换元数据!)。 Airflow不属于 Spark Streaming 或 Storm 空间,它更类似于 Oozie 或 Azkaban。

工作流程预计大部分是静态的或缓慢变化的。您可以将工作流中的任务结构视为比数据库结构稍微动态一些。Airflow工作流程预计从一次运行到下一次运行都相似,这可以使工作单元和连续性变得清晰。

results matching ""

    No results matching ""