本发明涉及数据处理,尤其涉及一种批量数据处理方法、装置、设备、存储介质及程序产品。
背景技术:
1、随着互联网+概念的深入和成熟,各个传统行业借助互联网技术不断创新,业务得到空前发展,需要处理的业务数据量也越来越庞大。面对越来越繁杂的海量数据,业内诞生了许多优秀的大数据处理方法和系统,以满足海量数据分析的业务需求。
2、目前,现有的数据处理技术普遍基于日志分析和数据库增量同步技术(changedata capture,cdc,是一种捕获增量数据的技术),或者直接基于业务流程硬编码,实现增量数据的批量数据处理。而在实际业务场景中,很多时候都会遇到业务数据库没有开启,或不支持数据增量同步、只支持全量同步模式;原始数据也没有记录或者难以确定有效的数据操作时间戳,例如如没有创建时间、删除时间字段,业务做删除时直接进行数据物理删除,字段值异常等;依赖现有的数据处理技术无法根据条件字段进行数据过滤清洗得到增量数据(包括新增部分数据和删除部分数据),无法满足部分业务场景中的增量数据处理需求。
技术实现思路
1、针对现有技术存在的问题,本发明实施例提供一种批量数据处理方法、装置、设备、存储介质及程序产品,其能实现将全量数据处理转换为增量数据处理,使得下游应用能够获取业务数据的新增部分和删除部分,满足部分业务场景(例如业务数据库没有开启或不支持数据增量同步、原始数据也没有记录或者难以确定有效的数据操作时间戳)中的增量数据处理需求。
2、第一方面,本发明实施例提供了一种批量数据处理方法,包括:
3、从目标数据源获取至少两个数据集;其中,所述数据集包括首次对所述目标数据源进行数据采集工作得到的一个数据集和定期对所述目标数据源进行数据采集工作得到的至少一个数据集;
4、根据预设的数据分析配置,从至少两个所述数据集确定两个待处理数据集;
5、对两个所述待处理数据集中各个数据的主键值进行遍历对比,确定两个所述待处理数据集中的增量数据,并对所述增量数据进行存储。
6、作为上述方案的改进,在从目标数据源获取至少两个数据集之前,还包括:
7、根据接收到的任务配置信息进行增量数据处理任务的预先配置;
8、将配置好的增量数据处理任务划分为多个执行计划;
9、将各个所述执行计划分发至相应的工作节点执行。
10、作为上述方案的改进,所述执行计划包括用于指示数据采集工作的第一执行计划;所述工作节点包括用于执行数据采集工作的数据采集节点;
11、从目标数据源获取至少两个数据集,包括:
12、通过所述数据采集节点,根据接收到的所述第一执行计划,首次对所述目标数据源进行数据采集工作,得到的一个数据集;
13、通过所述数据采集节点,根据接收到的所述第一执行计划,定期对所述目标数据源进行数据采集工作,得到的至少一个数据集。
14、作为上述方案的改进,所述执行计划包括用于指示数据分析工作的第二执行计划,所述第二执行计划携带数据分析配置;所述工作节点包括用于执行数据分析工作的数据分析节点;
15、根据预设的数据分析配置,从至少两个所述数据集确定两个待处理数据集,包括:
16、通过所述数据分析节点,根据接收到的第二执行计划中的数据分析配置,确定数据处理起始时间和数据处理结束时间;
17、通过所述数据分析节点从至少两个所述数据集中查找采集时间距离所述数据处理起始时间最近所对应的待处理数据集和采集时间距离所述数据处理结束时间最近对应的待处理数据集。
18、作为上述方案的改进,所述对两个所述待处理数据集中各个数据的主键值进行遍历对比,确定两个所述待处理数据集中的增量数据,包括:
19、对两个所述待处理数据集中各个数据的主键值进行遍历对比,确定两个所述待处理数据集中各个数据的数据属性;
20、根据各个所述待处理数据集中各个数据的数据属性,确定相应待处理数据集中的增量数据。
21、作为上述方案的改进,所述对两个所述待处理数据集中各个数据的主键值进行遍历对比,确定两个所述待处理数据集中各个数据的数据属性,包括:
22、当任意一个数据存在于所述数据处理起始时间对应的待处理数据集、且不存在于所述数据处理结束时间对应的待处理数据集时,标记相应数据的数据属性为删除数据;
23、当任意一个数据不存在于所述数据处理起始时间对应的待处理数据集、且存在于所述数据处理结束时间对应的待处理数据集时,标记相应数据的数据属性为新增数据;
24、将数据属性标记为删除数据和新增数据的数据,作为增量数据。
25、作为上述方案的改进,所述执行计划包括用于指示数据存储工作的第三执行计划;所述工作节点包括用于执行数存储工作的数据存储节点;
26、对所述增量数据进行存储,包括:
27、通过所述数据存储节点,根据所述第三执行计划对存在所述增量数据的待处理数据集进行持久化存储。
28、第二方面,本发明实施例提供了一种批量数据处理装置,包括:数据采集模块、数据分析模块以及数据存储模块;
29、所述数据采集模块,用于从目标数据源获取至少两个数据集;其中,所述数据集包括首次对所述目标数据源进行数据采集工作得到的一个数据集和定期对所述目标数据源进行数据采集工作得到的至少一个数据集;
30、所述数据分析模块,用于根据预设的数据分析配置,从至少两个所述数据集确定两个待处理数据集;
31、所述数据分析模块,还用于对两个所述待处理数据集中各个数据的主键值进行遍历对比,确定两个所述待处理数据集中的增量数据;
32、所述数据存储模块,用于对所述增量数据进行存储。
33、第三方面,本发明实施例提供了一种批量数据处理设备,包括:处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面中任意一项所述的批量数据处理方法。
34、第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如第一方面中任意一项所述的批量数据处理方法。
35、第五方面,本发明实施例提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如第一方面中任意一项所述的批量数据处理方法。
36、相对于现有技术,本发明实施例的一种批量数据处理方法、装置、设备、存储介质及程序产品,通过从目标数据源获取至少两个数据集;其中,所述数据集包括首次对所述目标数据源进行数据采集工作得到的一个数据集和定期对所述目标数据源进行数据采集工作得到的至少一个数据集;然后根据预设的数据分析配置,从至少两个所述数据集确定两个待处理数据集;对两个所述待处理数据集中各个数据的主键值进行遍历对比,确定两个所述待处理数据集中的增量数据,并对所述增量数据进行存储,从而实现将目标数据源中全量数据处理转换为增量数据处理,使得下游应用能够获取业务数据的新增部分和删除部分,满足部分业务场景(例如业务数据库没有开启或不支持数据增量同步、原始数据也没有记录或者难以确定有效的数据操作时间戳)中的增量数据处理需求,为后续数据分析活动和业务开展提供关键数据支撑。
1.一种批量数据处理方法,其特征在于,包括:
2.如权利要求1所述的批量数据处理方法,其特征在于,在从目标数据源获取至少两个数据集之前,还包括:
3.如权利要求2所述的批量数据处理方法,其特征在于,所述执行计划包括用于指示数据采集工作的第一执行计划;所述工作节点包括用于执行数据采集工作的数据采集节点;
4.如权利要求2所述的批量数据处理方法,其特征在于,所述执行计划包括用于指示数据分析工作的第二执行计划,所述第二执行计划携带数据分析配置;所述工作节点包括用于执行数据分析工作的数据分析节点;
5.如权利要求4所述的批量数据处理方法,其特征在于,所述对两个所述待处理数据集中各个数据的主键值进行遍历对比,确定两个所述待处理数据集中的增量数据,包括:
6.如权利要求5所述的批量数据处理方法,其特征在于,所述对两个所述待处理数据集中各个数据的主键值进行遍历对比,确定两个所述待处理数据集中各个数据的数据属性,包括:
7.如权利要求3所述的批量数据处理方法,其特征在于,所述执行计划包括用于指示数据存储工作的第三执行计划;所述工作节点包括用于执行数存储工作的数据存储节点;
8.一种批量数据处理装置,其特征在于,包括:数据采集模块、数据分析模块以及数据存储模块;
9.一种批量数据处理设备,其特征在于,包括:处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述的批量数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至7中任意一项所述的批量数据处理方法。
11.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至7中任意一项所述的批量数据处理方法。