本发明涉及软件开发,尤其涉及一种数据仓库sql代码发布的方法、系统及存储介质。
背景技术:
1、在大数据场景下,使用dolphinscheduler作为调度系统,来调度数据仓库sql任务执行,dolphinscheduler调度系统发布代码,直接修改dolphinscheduler上的文件,导致代码没有版本控制管理,无法进行代码的备份,如果代码库出现问题,不可以恢复,查看不到每次代码修改的内容,以及修改人,不方便于代码的审查和记录。
2、同时,在dolphinscheduler调度系统的任务上线时,没有对任务的代码进行语法检测、任务依赖关系的检测和代码审查的功能,不能保证代码开发的质量、任务的稳定性。
技术实现思路
1、本发明的目的是提供一种数据仓库sql代码发布的方法、系统及存储介质,通过整合代码开发工具、代码发布工具和调度系统,实现了代码版本的自动管理和发布,且这一设计使得调度系统的任务能直接应用新发布的代码版本,且进行有效管理,显著提高了代码上线效率。
2、为实现上述目的,采用以下技术方案:
3、一种数据仓库sql代码发布的方法,包括如下步骤:
4、s1:基于代码开发工具进行代码开发,并将开发后的代码上传至代码开发工具的开发分支;
5、s2:基于调度系统,配置代码所依赖的工作流;
6、s3:基于代码发布工具发布代码,并对代码进行检测及审查;
7、s4:将检测及审查通过的代码,上传至调度系统;
8、s5:将代码所对应的调度系统上的工作流进行上线。
9、进一步的,所述代码开发工具包括git代码仓库。
10、进一步的,所述调度系统包括dolphinscheduler调度平台;所述s1中,开发的代码文件命名为sql输出的结果表名,以与dolphinscheduler调度平台上的工作流对应。
11、进一步的,所述s2中,配置代码所依赖的工作流具体包括配置工作流的依赖节点、任务节点。
12、进一步的,所述代码发布工具包括jenkins工具。
13、进一步的,所述s3中,对代码进行检测具体包括:
14、对代码的语法进行检测;
15、对代码对应的dolphinscheduler调度平台上的工作流进行依赖关系检测;
16、检测工作流配置的执行周期和依赖上游的执行周期是否对应。
17、进一步的,对代码对应的dolphinscheduler调度平台上的工作流进行依赖关系检测,具体包括:
18、通过dolphinscheduler调度平台的元数据库,查询工作流配置好的依赖关系,并且解析代码文件,获得代码所查询的表,得出依赖关系;
19、将代码的查询表和已配置的工作流依赖关系进行对比,检测是否存在依赖少配置、多配置的情况,若是,则进行修正。
20、一种数据仓库sql代码发布的系统,用于实施上述的方法,包括
21、git代码仓库,所述git代码仓库至少用于开发代码及代码版本保存;
22、jenkins工具,所述jenkins工具至少用于发布代码;
23、dolphinscheduler调度平台,所述dolphinscheduler调度平台至少用于工作流配置及调度。
24、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行上述的方法。
25、采用上述方案,本发明的有益效果是:
26、1)通过整合代码开发工具、代码发布工具和调度系统,实现了代码版本的自动管理和发布,且这一设计使得调度系统的任务能直接应用新发布的代码版本,且进行有效管理,显著提高了代码上线效率;
27、2)通过集成化设计,简化了代码开发和部署流程,提高了开发效率,且采用自动化的流程设计,减少了人为错误,提高了代码的质量和稳定性;
28、3)可对数据库操作代码进行自动化检测,包括sql语法检测、任务依赖关系检测和代码审查等,提升代码发布质量和效率。
1.一种数据仓库sql代码发布的方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的数据仓库sql代码发布的方法,其特征在于,所述代码开发工具包括git代码仓库。
3.根据权利要求2所述的数据仓库sql代码发布的方法,其特征在于,所述调度系统包括dolphinscheduler调度平台;所述s1中,开发的代码文件命名为sql输出的结果表名,以与dolphinscheduler调度平台上的工作流对应。
4.根据权利要求3所述的数据仓库sql代码发布的方法,其特征在于,所述s2中,配置代码所依赖的工作流具体包括配置工作流的依赖节点、任务节点。
5.根据权利要求4所述的数据仓库sql代码发布的方法,其特征在于,所述代码发布工具包括jenkins工具。
6.根据权利要求5所述的数据仓库sql代码发布的方法,其特征在于,所述s3中,对代码进行检测具体包括:
7.根据权利要求6所述的数据仓库sql代码发布的方法,其特征在于,对代码对应的dolphinscheduler调度平台上的工作流进行依赖关系检测,具体包括:
8.一种数据仓库sql代码发布的系统,用于实施权利要求1至7任意一项所述的方法,其特征在于,包括
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1至7任意一项所述的方法。