本技术涉及计算机,尤其涉及一种数据处理方法、装置、设备及介质。
背景技术:
1、随着技术发展,不断有各种各样的数据产生和存储。出于各种需要,会对某些数据执行某种或某些种处理操作。由于单位时间内产生和存储的数据量可能是巨大的,要从已存储的数据中查询到待执行处理操作的数据,需要进行大量计算,耗费大量计算资源和时间。
2、特别的,待执行处理操作的数据可能来自于不同的数据库或数据表,这无疑增加了数据的处理难度。例如,待执行处理操作的数据可能来自不同的数据表,比如图1所示的关联表和被关联表。现有技术中,通常会采用采用多线程(或多进程)并行执行的技术。这种情况下,需要预先进行数据洗牌(shuffle),即将参与运算的关联表和被关联表中的全部数据按照关联键进行散列,形成相互独立的若干数据子集,再以数据子集为单位分派给不同的线程并行执行,这就会涉及大量的数据计算和移动开销,数据处理效率较低。
3、有鉴于此,需要更高效的数据处理方案。
技术实现思路
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、进一步的,其中,对具有映射关系的第一数据单元集和第二数据单元集执行数据处理操作包括:
37、对由具有映射关系的第一数据单元集和第二数据单元集得到的解压缩数据执行数据处理操作。
38、进一步的,其中,对任一第一数据单元集,由该第一数据单元集得到的解压缩数据,指对该第一数据单元集中各第一数据单元解压缩得到的数据;
39、和/或,
40、对任一第二数据单元集,由该第二数据单元集得到的解压缩数据,指对该第二数据单元集中各第二数据单元解压缩得到的数据。
41、进一步的,其中,对具有映射关系的第一数据单元集和第二数据单元集执行数据处理操作包括:
42、由线程对具有映射关系的第一数据单元集和第二数据单元集执行数据处理操作。
43、进一步的,其中,所述方法还包括:
44、对任一组具有映射关系的第一数据单元集和第二数据单元集,根据该组第一数据单元集和第二数据单元集中,第一数据单元集包含的数据量或第二数据单元集包含的数据量或第一数据单元集中的第一数据单元数量或第二数据单元集中的第二数据单元数量,确定对该组第一数据单元集和第二数据单元集执行数据处理操作的线程数量。
45、进一步的,其中,所述方法还包括:
46、对任一组具有映射关系的第一数据单元集和第二数据单元集,若需要由多个线程对该组第一数据单元集和第二数据单元集执行数据处理操作,则对该组第一数据单元集和第二数据单元集执行数据处理操作包括:
47、将该组第一数据单元集和第二数据单元集中,第一数据单元集包含的各第一数据单元对应的全部目标数据进行散列,形成一个或多个第一数据子集,各个第一数据子集无交集;
48、根据第一数据子集,将该组第一数据单元集和第二数据单元集中,第二数据单元集包含的各第二数据单元对应的全部目标数据划分成一个或多个第二数据子集;
49、由单个线程对具有映射关系的第一数据子集和第二数据子集执行数据处理操作。
50、进一步的,其中,对任一第一数据单元,该第一数据单元对应的目标数据为用于得到该第一数据单元的目标数据;
51、和/或,
52、对任一第二数据单元,该第二数据单元对应的目标数据为用于得到该第二数据单元的目标数据。
53、进一步的,其中,所述第一数据子集和第二数据子集的映射关系根据第二关联条件确定。
54、进一步的,其中,所述方法还包括:
55、对任一组具有映射关系的第一数据单元集和第二数据单元集,若该组第一数据单元集和第二数据单元集中,第一数据单元集包含的数据量或第二数据单元集包含的数据量或第一数据单元集中的第一数据单元数量或第二数据单元集中的第二数据单元数量不超过第一预设值或低于第二预设值,则该组第一数据单元集和第二数据单元集满足合并条件,由单个线程对多组满足合并条件的第一数据单元集和第二数据单元集执行数据处理操作。
56、进一步的,其中,获取各第一数据单元和各第二数据单元前,所述方法还包括:
57、获取数据处理请求,根据所述数据处理请求确定第一数据集和第二数据集或第一数据集中的目标数据和第二数据集中的目标数据;
58、和/或,
59、对各第一数据单元和各第二数据单元执行条件过滤操作前,所述方法还包括:
60、获取数据处理请求,根据所述数据处理请求确定条件过滤操作所使用的过滤条件;
61、和/或,
62、根据第一关联条件对经条件过滤操作后剩余的各第一数据单元和各第二数据单元进行关联过滤操作前,所述方法还包括:
63、获取数据处理请求,根据所述数据处理请求确定第一关联条件;
64、和/或,
65、对具有映射关系的第一数据单元集和第二数据单元集执行数据处理操作前,所述方法还包括:
66、获取数据处理请求,根据所述数据处理请求确定数据处理操作的内容。
67、本技术提供一种数据处理装置,所述装置包括:
68、数据单元确定模块,用于获取各第一数据单元和各第二数据单元,其中,各所述第一数据单元由第一数据集中的目标数据得到,各所述第二数据单元由第二数据集中的目标数据得到;
69、数据单元处理模块,用于对各第一数据单元和各第二数据单元执行条件过滤操作,根据第一关联条件对经条件过滤操作后剩余的各第一数据单元和各第二数据单元进行关联过滤操作;对经关联过滤操作后剩余的各第一数据单元执行重组操作,得到各第一数据单元集;根据第一数据单元集对经关联过滤操作后剩余的各第二数据单元执行重组操作,得到各第二数据单元集;其中,各第一数据单元集无交集;
70、数据处理执行模块,用于根据各第一数据单元集和各第二数据单元集的映射关系,对具有映射关系的第一数据单元集和第二数据单元集执行数据处理操作,得到数据处理结果。
71、本技术提供一种数据处理设备,所述设备包括:
72、至少一个处理器;
73、以及,
74、与所述至少一个处理器通信连接的存储器;
75、其中,
76、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行上述的数据处理方法。
77、本技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述的数据处理方法。
78、本技术采用的上述至少一个技术方案能够达到以下有益效果:
79、根据第一数据集中的目标数据得到各第一数据单元,根据第二数据集中的目标数据得到各第二数据单元,对各第一数据单元和各第二数据单元进行条件过滤操作、关联过滤操作和重组操作,得到各第一数据单元集和各第二数据单元集,并根据各第一数据单元集和各第二数据单元集的映射关系。这样一来,通过条件过滤、关联过滤和重组就可以准确确定需要执行数据处理操作的第一数据单元集和第二数据单元集,以及各第一数据单元集和各第二数据单元集的映射关系,从而提高数据确定效率。在此基础上,对具有映射关系的第一数据单元集和第二数据单元集执行数据处理操作,能够有效提高数据处理效率。