ETL调度工具JobStream功能及源代码

来源:互联网 发布:前端写代码软件 编辑:程序博客网 时间:2024/06/07 03:40

1 功能设计

1.1 功能图

 

1.2 功能介绍

1.2.1 自动构建依赖关系流

根据维护的Job的输入输出的hdfs路径,自动构建JOB之间依赖关系,一个JOB可能有多个输入路径,多个输出路径,那么一个Job可能依赖于多个Job执行成功完后才可执行

1.2.2 作业优先级的控制

调度系统按照作业优先级控制目前谁的Job优先执行,如果优先级一样,先执行提交时间早的JOB,对于一些重要的线上系统作业可设置高优先级

1.2.3 作业并发数的控制

控制同时正在运行的作业数,可根据系统情况自由调整

1.2.4 智能断点重跑

每日跑批作业,以项目为单元进行调度,一个项目包装很多作业,智能断点重跑要做的是当其中个别或部分作业出错,待技术人员调试解决后,需要重新跑批,系统自动执行上次出错作业的后续作业流,避免每个人都去手工补数据

1.2.5 任务出错重试机制

作业有可能因为当时外部因素,比如网络原因,未执行成功,并非自己本身bug,会给予机会重试。

1.2.6 任务出错邮件报警

数据库会记录所有程序运行的状态,有出错的任务立即给予报警

1.2.7 作业性能报表

结合记录的程序跑批日志,对运行时间长的做top排行,用于确定需要优化的作业


2 源代码

https://github.com/xmingyang/JobStream

 

0 0
原创粉丝点击