原有基于crontab工作流如下痛点:
- 运维过程黑盒,没有可视化和代码化
- 大量crontab任务,难以管理
- SQL依赖关系,难以处理
- 海豚与airflow调度,没有版本管理的概念
点击空白处退出提示
原有基于crontab工作流如下痛点:
- 运维过程黑盒,没有可视化和代码化
- 大量crontab任务,难以管理
- SQL依赖关系,难以处理
- 海豚与airflow调度,没有版本管理的概念
核心功能
- ETL部署:部署大数据分析任务
- 插件编译:自动化插件构建流程
- 服务打包:从Git仓库拉取代码并打包
- 服务部署:自动化服务部署流程
- 数据清理:定期清理日志和临时文件
- 数据备份:自动化数据备份流程
业务流程
- 填写工作流yml,支持SQL、shell、远程shell三种任务,同时支持开发、内部测试、线上测试、生产4种环境
- 生成任务依赖
- 打包生成升级包
- 部署到airflow环境
项目全部通过AI实现,包括代码和文档,分成3部分
- 工作流依赖处理,同一工作流内,SQL自行解析并生成依赖,而shell、远程shell任务需要手动指定依赖;还支持天任务依赖某小时任务等跨工作流的内容依赖
- airflow处理,生成公共的airflow调度python脚本,识别工作流依赖并创建airflow调度所需要的工作流和任务,支持任意自定义的环境变量,如此可非常方便的区分开发、测试环境
- 海豚调度器处理,支持通过API的方式上传资源中心文件和创建任务并关联资源中心文件,实现版本化的处理
遇到的难点
- 海豚调度器,只有一个调度器要同时支持测试和生产环境,故资源中心的文件也拆分成两个目录,同时进行文件关联
- airflow调度,任意环境变量传递,通过python脚本动态解析airflow的json变量并自动导出环境变量




评论