点击空白处退出提示
数据平台ETL调度系统
我要开发同款作品详情
我所在的就是数据平台,基础底层组件有Hadoop、Hive、Spark、Hbase等等一系列底层组件,而上层需要有一个入口,让公司RD方便的进行数据生产。
我所做的ETL调度系统,就是为公司RD提供 数据接入、生产、运维一系列操作,旨在为公司RD形成数据生产闭环。目前上线脚本有1500+, 每日执行的任务数为2000+。对公司其他业务部门带来很好的技术支持。
系统框架及工具: Ubuntu14.04, Django, Celery,RabbitMQ,supervisor, Ansible, Nginx, git,leangoo, guardian
主要模块如下:
* auth模块:
1. 接入公司SSO
* 审批与权限模块:
1. 任务的新建,编写,提交审批,审批通过,上线调度,等控制起来
2. 基于第三方模块guardian实现object perm
3. 变更内容提醒
* etl模块解析模块:
1. mysql->mysql, mysql->hive, hive->hive, hive->mysql
2. 数据源管理
3. 网页端脚本测试
* 报警模块。 在任务超时或者失败时会进行异步报警,三种模式自由选择:
1. 短信
2. 钉钉
3. 邮件
* 调度模块:
1. 基于任务模板生成真实任务DAG, 并根据DAG依赖关系顺序执行任务
2. 多种调度模式,如"按天调度, cron(0 0 * * *)", "按小时调度 cron(0 * * * *)"等等
3. 在补数据,修数据时手动创建任务DAG
4. 调度任务分为2种, 本地命令任务与远程ssh命令任务,均支持手动结束
5. 由APschedule框架替换成croniter手动调度
6. 根据haddop集群资源动态调度MapReduce任务
* 其他:
1. 基于vis.js进行任务运行状态动态更新展示
2. 手动选择任务重跑等等
负责了90%的代码及wiki文档。日常开发、部署、监控。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论