本申请涉及数据仓库,尤其涉及一种etl数据处理方法、装置、电子设备和计算机存储介质。
背景技术:
1、etl(extract-transform-load,抽取-转换-加载)是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。
2、相关技术中,在对etl作业进行存储时,通常会将与elt作业相关的内容存储在同一数据库中,然而,在需要执行的etl作业数量较多的情况下,采用上述存储方式,不仅会增加数据库的存储压力,还会影响系统的稳定性。
技术实现思路
1、本申请提供一种etl数据处理方法、装置、电子设备和计算机存储介质,能够提升系统的稳定性。
2、本申请的技术方案是这样实现的:
3、本申请提供了一种etl数据处理方法,应用于后端服务器,所述方法包括:
4、接收前端发送的etl作业;
5、获取所述etl作业的相关信息,对所述etl作业的相关信息进行拆分,得到拆分后信息;所述拆分后信息包括数据源详情信息和作业详情信息;
6、将所述数据源详情信息存储至第一数据库,将所述作业详情信息存储至第二数据库;其中,所述第一数据库和所述第二数据库为不同的数据库;
7、在接收到针对所述etl作业的执行请求时,基于从所述第一数据库获取的所述数据源详情信息,以及从所述第二数据库获取的作业详情信息,完成对所述etl作业的执行。
8、在一些实施例中,所述接收前端发送的etl作业,包括:
9、接收所述前端发送的转换后的etl作业;所述转换后的etl作业是所述前端将根据用户操作指令生成的初始etl作业的格式转换成yaml格式后发送至所述后端服务器的。
10、在一些实施例中,所述拆分后信息还包括作业属性信息,所述方法还包括:
11、在将所述作业详情信息存储至所述第二数据库时,获取当前时间戳;
12、将所述当前时间戳确定为所述etl作业的版本信息,并将所述版本信息添加至所述作业属性信息中。
13、在一些实施例中,所述作业属性信息还包括所述etl作业的id和状态信息,所述方法还包括:
14、获取所述etl作业的id、状态信息以及所述版本信息;
15、根据所述etl作业的id、状态信息以及所述版本信息生成key值,并将所述key值存储至所述第一数据库;
16、所述将所述作业详情信息存储至第二数据库,包括:
17、将所述作业详情信息作为所述key值对应的vaule值存储至所述第二数据库。
18、在一些实施例中,所述基于从所述第一数据库获取的所述数据源详情信息,以及从所述第二数据库获取的作业详情信息,完成对所述etl作业的执行,包括:
19、通过调度引擎从所述第一数据库中获取所述数据源详情信息和所述key值,并根据所述key值,在所述第二数据库中获取所述作业详情信息;
20、通过所述调度引擎将所述数据源详情信息和所述作业详情信息提交给执行引擎,以通过所述执行引擎完成对所述etl作业的执行。
21、在一些实施例中,所述方法还包括:
22、将所述作业详情信息存储至所述第二数据库时,将所述作业详情信息备份至分布式缓存中。
23、在一些实施例中,所述方法还包括:
24、在所述第二数据库发生异常时,根据所述key值,在所述分布式缓存中获取所述作业详情信息。
25、本申请提供一种etl数据处理装置,所述装置包括接收模块、拆分模块、存储模块和执行模块,其中,
26、接收模块,用于接收前端发送的etl作业;
27、拆分模块,用于获取所述etl作业的相关信息,对所述etl作业的相关信息进行拆分,得到拆分后信息;所述拆分后信息包括数据源详情信息和作业详情信息;
28、存储模块,用于将所述数据源详情信息存储至第一数据库,将所述作业详情信息存储至第二数据库;其中,所述第一数据库和所述第二数据库为不同的数据库;
29、执行模块,用于在接收到针对所述etl作业的执行请求时,基于从所述第一数据库获取的所述数据源详情信息,以及从所述第二数据库获取的作业详情信息,完成对所述etl作业的执行。
30、本申请提供一种电子设备,所述设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述一个或多个技术方案提供的etl数据处理方法。
31、本申请提供一种计算机存储介质,所述计算机存储介质存储有计算机程序;所述计算机程序被执行后能够实现前述一个或多个技术方案提供的etl数据处理方法。
32、本申请实施例提供一种etl数据处理方法、装置、电子设备和计算机存储介质,该方法应用于后端服务器,该方法包括:接收前端发送的etl作业;获取所述etl作业的相关信息,对所述etl作业的相关信息进行拆分,得到拆分后信息;所述拆分后信息包括数据源详情信息和作业详情信息;将所述数据源详情信息存储至第一数据库,将所述作业详情信息存储至第二数据库;其中,所述第一数据库和所述第二数据库为不同的数据库;在接收到针对所述etl作业的执行请求时,基于从所述第一数据库获取的所述数据源详情信息,以及从所述第二数据库获取的作业详情信息,完成对所述etl作业的执行。
33、可以看出,本申请实施例中,在接收到前端发送的etl作业后,通过对etl作业的相关信息进行拆分,并将拆分后得到的数据源详情信息和作业详情信息分别存储至不同的数据库中;如此,不仅能够有效降低因修改数据源详情信息造成etl作业执行失败的可能性,还能够提升读取速度,尤其在大量etl作业周期调度并发运行时,能够减小数据库的压力,提升系统的稳定性,更好地满足应用需求。
1.一种etl数据处理方法,其特征在于,应用于后端服务器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述接收前端发送的etl作业,包括:
3.根据权利要求1所述的方法,其特征在于,所述拆分后信息还包括作业属性信息,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述作业属性信息还包括所述etl作业的id和状态信息,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述基于从所述第一数据库获取的所述数据源详情信息,以及从所述第二数据库获取的作业详情信息,完成对所述etl作业的执行,包括:
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
8.一种etl数据处理装置,其特征在于,应用于后端服务器,所述装置包括:
9.一种电子设备,其特征在于,所述设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至7任一项所述的方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。