玩大数据,只要是技术相关,一定听说过调度工具,目前在大数据技术领域谈到调度工具目前比较火的那应该就是DolphinScheduler
(DS)和azkaban
了。
这篇简要介绍DS
简介
Apache DolphinScheduler是一个分布式和可扩展的开源工作流协调平台,具有强大的DAG可视化界面。
主要特性
轻松管理复杂的任务工程
- 支持跨项目和跨工作流程的任务依赖
- 支持Kill、暂停和恢复操作
- 任务支持以租户、Worker分组组和环境中隔离运行
- 每个任务都可以修改输出参数,并将其传递给后续任务
在一分钟内创建你的工作流程
- 通过拖拉拽的工作流创建方式提高效率
- 支持Python、Yaml和Open Api的方式生成工作流
- 支持将一个工作流作为另一个工作流的子流程执行
高并发、高吞吐量、低延迟和稳定地执行百万个量级任务
- 多Master、多Worker设计
- 自动缓存任务队列中的任务,以避免任务过多时服务器堵塞
- Master和Worker支持在线和离线状态
强大的数据回填和工作流版本控制
- 根据计划时间(特殊日期范围或特殊的日期列表)批量执行任务
- 以串行或并行模式批量运行任务
- 在不影响工作流模板的情况下,工作流实例支持修改、回滚和重新运行
轻松管理复杂的任务工程
- 支持跨项目和跨工作流程的任务依赖
- 支持Kill、暂停和恢复操作
- 任务支持以租户、Worker分组组和环境中隔离运行
- 每个任务都可以修改输出参数,并将其传递给后续任务
适用场景
凡是有需要调度工作流的场景都可以使用ds。
但是如果你的应用只是简单的定时任务,建议还是不要杀鸡用牛刀了。
总结点评
目前DS的功能越发强大,最新版已经将数据的质控模块集成,按照这个趋势,DS是有意将自己定位成数据中台底座的想法的。
并且借助其本身的开放API,用户基于其进行二次开发可以做出各种数据中台类产品。