编程(Programming)是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。为了使计算机能够理解(understand)人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
Apache DolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度系统,致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。
DolphinScheduler特色
高可靠性
去中心化的多Master和多Worker, 自身支持HA功能, 采用任务队列来避免过载,不会造成机器卡死
简单易用
DAG监控界面,所有流程定义都是可视化,通过拖拽任务定制DAG,通过API方式与第三方系统对接, 一键部署
丰富的使用场景
支持暂停恢复操作. 支持多租户,更好的应对大数据的使用场景. 支持更多的任务类型,如 spark, hive, mr, python, sub_process, shell
高扩展性
支持自定义任务类型,调度器使用分布式调度,调度能力随集群线性增长,Master和Worker支持动态上下线
DolphinScheduler功能介绍
1、以DAG图的方式将Task按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态
2、支持丰富的任务类型:Shell、MR、Spark、SQL(mysql、postgresql、hive、sparksql),Python,Sub_Process、Procedure等
3、支持工作流定时调度、依赖调度、手动调度、手动暂停/停止/恢复,同时支持失败重试/告警、从指定节点恢复失败、Kill任务等操作
4、支持工作流优先级、任务优先级及任务的故障转移及任务超时告警/失败
5、支持工作流全局参数及节点自定义参数设置
6、支持资源文件的在线上传/下载,管理等,支持在线文件创建、编辑
7、支持任务日志在线查看及滚动、在线下载日志等
8、实现集群HA,通过Zookeeper实现Master集群和Worker集群去中心化
9、支持对Master/Worker cpu load,memory,cpu在线查看
10、支持工作流运行历史树形/甘特图展示、支持任务状态统计、流程状态统计
11、支持补数
12、支持多租户
13、支持国际化
14、还有更多等待伙伴们探索
使用编程语言写的程序,由于每条指令都对应计算机一个特定的基本动作,所以程序占用内存少、执行效率高。