CN111475492B - 数据处理方法以及装置 - Google Patents
数据处理方法以及装置 Download PDFInfo
- Publication number
- CN111475492B CN111475492B CN202010408131.9A CN202010408131A CN111475492B CN 111475492 B CN111475492 B CN 111475492B CN 202010408131 A CN202010408131 A CN 202010408131A CN 111475492 B CN111475492 B CN 111475492B
- Authority
- CN
- China
- Prior art keywords
- data table
- data
- suoyin
- association
- values
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供数据处理方法以及装置,其中所述方法包括:获取第一数据表的关键字段集合的第一布隆索引,所述第一数据表为键值对数据结构;利用所述第一布隆索引对第二数据表进行过滤以筛除不在所述第一布隆索引范围内的数据,得到过滤后的第二数据表,所述第二数据表为键值对数据结构;将所述第一数据表以及过滤后的所述第二数据表中,相同关键字段的值进行关联。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种数据处理方法。本说明书一个或者多个实施例同时涉及一种数据处理装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着互联网技术的发展,通过网络平台进行交互已经成为广大互联网用户普遍的行为。然而,网络平台在给用户带来便利的同时,为了避免损害,需要利用海量的历史数据对网络平台中的可疑行为进行分析。
在分析时数据表的关联计算尤其频繁,因此,如何能够提高数据关联效率,成为了人们关注的问题。
发明内容
有鉴于此,本说明书施例提供了一种数据处理方法。本说明书一个或者多个实施例同时涉及一种数据处理装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种数据处理方法,包括:获取第一数据表的关键字段集合的第一布隆索引,所述第一数据表为键值对数据结构;利用所述第一布隆索引对第二数据表进行过滤以筛除不在所述第一布隆索引范围内的数据,得到过滤后的第二数据表,所述第二数据表为键值对数据结构;将所述第一数据表以及过滤后的所述第二数据表中,相同关键字段的值进行关联。
可选地,所述将所述第一数据表以及过滤后的所述第二数据表中,相同关键字段的值进行关联包括:针对第一数据表,将所述第一数据表中相同关键字段的值进行关联,获得所述第一数据表的第一关联集合;针对所述第二数据表,将所述第二数据表中相同关键字段的值进行关联,获得所述第二数据表的第二关联集合;将所述第一关联集合与所述第二关联集合中,相同关键字段的值进行关联。
可选地,所述将所述第一关联集合与所述第二关联集合中,相同关键字段的值进行关联包括:根据内存中的关键字段集合生成第二布隆索引;利用所述第二布隆索引对所述第二关联集合进行过滤以筛除不在所述第二布隆索引范围内的数据,得到过滤后的第二关联集合;将所述第一关联集合与过滤后的第二关联集合中,相同关键字段的值进行关联。
可选地,所述方法应用于分布式系统的执行节点;所述获取第一数据表的关键字段集合的第一布隆索引包括:所述执行节点响应于从驱动节点接收到包含所述第一布隆索引的广播,获取所述第一布隆索引,所述第一布隆索引是由所述驱动节点根据所述第一数据表的关键字段集合生成的。
可选地,所述方法应用于spark分布式系统中的cogroup过程。
可选地,所述第一数据表为用户数据表,所述第二数据表为用户历史交易数据表,所述关键字段为用户ID。
根据本说明书实施例的第二方面,提供了一种数据处理装置,包括:索引获取模块,被配置为获取第一数据表的关键字段集合的第一布隆索引,所述第一数据表为键值对数据结构。第一过滤模块,被配置为利用所述第一布隆索引对第二数据表进行过滤以筛除不在所述第一布隆索引范围内的数据,得到过滤后的第二数据表,所述第二数据表为键值对数据结构。关联模块,被配置为将所述第一数据表以及过滤后的所述第二数据表中,相同关键字段的值进行关联。
可选地,所述关联模块包括:第一关联子模块,被配置为针对第一数据表,将所述第一数据表中相同关键字段的值进行关联,获得所述第一数据表的第一关联集合。第二关联子模块,被配置为针对所述第二数据表,将所述第二数据表中相同关键字段的值进行关联,获得所述第二数据表的第二关联集合。第三关联子模块,被配置为将所述第一关联集合与所述第二关联集合中,相同关键字段的值进行关联。
可选地,所述第三关联子模块包括:索引生成子模块,被配置为根据内存中的关键字段集合生成第二布隆索引。过滤子模块,被配置为利用所述第二布隆索引对所述第二关联集合进行过滤以筛除不在所述第二布隆索引范围内的数据,得到过滤后的第二关联集合。滤后关联子模块,被配置为将所述第一关联集合与过滤后的第二关联集合中,相同关键字段的值进行关联。
可选地,所述装置配置于分布式系统的执行节点。所述索引获取模块,被配置为响应于从驱动节点接收到包含所述第一布隆索引的广播,获取所述第一布隆索引,所述第一布隆索引是由所述驱动节点根据所述第一数据表的关键字段集合生成的。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:获取第一数据表的关键字段集合的第一布隆索引,所述第一数据表为键值对数据结构;利用所述第一布隆索引对第二数据表进行过滤以筛除不在所述第一布隆索引范围内的数据,得到过滤后的第二数据表,所述第二数据表为键值对数据结构;将所述第一数据表以及过滤后的所述第二数据表中,相同关键字段的值进行关联。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现本说明书任意一实施例所述数据处理方法的步骤。
本说明书一个实施例提供了数据处理方法,该方法获取键值对数据结构的第一数据表的关键字段集合的第一布隆索引,由于布隆索引可以用于检索一个元素是否在一个集合中,因此,该方法利用第一布隆索引对第二数据表进行过滤以筛除不在所述第一布隆索引范围内的数据,得到过滤后的第二数据表,从而在做数据关联前可以将第二数据表中的无用数据过滤掉,再将所述第一数据表以及过滤后的所述第二数据表中相同关键字段的值进行关联,大幅提升了数据关联效率。
附图说明
图1是本说明书一个实施例提供的一种数据处理方法的流程图;
图2是本说明书一个实施例提供的一种数据处理方法的处理过程流程图;
图3是本说明书一个实施例提供的cogroup过程示意图。
图4是本说明书一个实施例提供的一种数据处理装置的结构示意图;
图5是本说明书另一个实施例提供的一种数据处理装置的结构示意图;
图6是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
布隆索引,又称布隆过滤器,Bloom Filter,包括一个二进制向量和一系列随机映射函数,可以用于检索一个元素是否在一个集合中。
在本说明书中,提供了一种数据处理方法,本说明书同时涉及一种数据处理装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一个实施例提供的一种数据处理方法的流程图,包括步骤102至步骤106。
步骤102:获取第一数据表的关键字段集合的第一布隆索引,所述第一数据表为键值对数据结构。
步骤104:利用所述第一布隆索引对第二数据表进行过滤以筛除不在所述第一布隆索引范围内的数据,得到过滤后的第二数据表,所述第二数据表为键值对数据结构。
步骤106:将所述第一数据表以及过滤后的所述第二数据表中,相同关键字段的值进行关联。
可见,由于布隆索引可以用于检索一个元素是否在一个集合中,因此,该方法利用第一布隆索引对第二数据表进行过滤以筛除不在所述第一布隆索引范围内的数据,得到过滤后的第二数据表,从而在做数据关联前可以将第二数据表中的无用数据过滤掉,减少在网络上各节点之间数据移动的开销,再将所述第一数据表以及过滤后的所述第二数据表中相同关键字段的值进行关联,大幅提升了数据关联效率。
需要说明的是,根据本说明书实施例提供的方法,可以获取两个或两个以上数据表中的主表的关键字段集合的布隆索引。这些数据表为键值对数据结构。利用获取的布隆索引,对其他数据表进行过滤以筛除不在该布隆索引范围内的数据,得到过滤后的其他数据表,对该主表以及过滤后的其他数据表中,相同关键字段的值进行关联。
例如,在利用海量的历史交易数据分析可疑行为的应用场景中,所述第一数据表可以为用户数据表,所述第二数据表可以为用户历史交易数据表,所述关键字段为用户ID。用户数据表例如可以包括用户ID、用户姓名、年龄等基础信息。在该实施例中,考虑到用户数据表与用户历史交易数据表的key数量很多情况下是不对等的,比如计算年龄在20至30岁之间的用户最近30天的交易次数这个场景,用户表中选择了部分数据做关联计算,而历史交易记录表大多数情况下规模巨大,在这种情况下,根据本说明书实施例提供的方法,可以在关联之前有效过滤掉大量无用的历史交易数据,大幅提升数据关联效率。
在本说明书一个或多个实施例中,所述将所述第一数据表以及过滤后的所述第二数据表中,相同关键字段的值进行关联可以包括:针对第一数据表,将所述第一数据表中相同关键字段的值进行关联,获得所述第一数据表的第一关联集合;针对所述第二数据表,将所述第二数据表中相同关键字段的值进行关联,获得所述第二数据表的第二关联集合;将所述第一关联集合与所述第二关联集合中,相同关键字段的值进行关联。在该实施例中,各个数据表的数据分别根据相同key也即关键字段组成键值对如key->iter(value)的结构组织,即相同key的数据构成一个集合关联起来得到关联集合,从而便于将各个数据表进行关联。
结合上述实施例,由于在将第一数据表中相同关键字段的值进行关联以及将第二数据表中相同关键字段的值进行关联的过程中,数据表的数据会按照 key重新组合移动,关联的过程结束,内存中key数据趋于稳定,此时可以根据内存中key数据生成更精细化的布隆索引来进一步过滤无用数据。具体地,例如,所述将所述第一关联集合与所述第二关联集合中,相同关键字段的值进行关联可以包括:根据内存中的关键字段集合生成第二布隆索引;利用所述第二布隆索引对所述第二关联集合进行过滤以筛除不在所述第二布隆索引范围内的数据,得到过滤后的第二关联集合;将所述第一关联集合与过滤后的第二关联集合中,相同关键字段的值进行关联。在该实施例中,考虑到第一布隆索引存在一定的误判率,第二关联集合中仍然存在一些无用数据,因此,在将各个数据表分别关联得到的关联集合之后,关联集合进行关联之前,根据运行该方法的机器的内存中的key集合生成一个更精细化的第二布隆索引,用于过滤第二关联集合中的数据,从而可以将第二关联集合中的无用数据过滤掉,过滤后再进行关联,从而得到如key->(iter(v1),iter(v2))的结构组织,大幅提升了数据关联效率。
本说明书一个或多个实施例中,所述方法可以应用于分布式系统的执行节点。所述获取第一数据表的关键字段集合的第一布隆索引包括:所述执行节点响应于从驱动节点接收到包含所述第一布隆索引的广播,获取所述第一布隆索引,所述第一布隆索引是由所述驱动节点根据所述第一数据表的关键字段集合生成的。在该实施例中,通过驱动节点将第一布隆索引进行广播,使各个执行节点根据该第一布隆索引对需要与第一数据表进行关联的第二数据表进行过滤,从而在执行节点做数据关联前可以将第二数据表中的无用数据过滤掉,有效减少数据在分布式系统各节点之间数据移动的开销,再将所述第一数据表以及过滤后的所述第二数据表中相同关键字段的值进行关联,大幅提升了数据关联效率。
下面,对结合上述多个实施例的一实施方式进行详细说明。图2示出了本说明书一个实施例提供的一种数据处理方法的处理过程流程图,具体步骤包括步骤202至步骤214。
步骤202:执行节点响应于从驱动节点接收到包含第一布隆索引的广播,获取所述第一布隆索引。
所述第一布隆索引是由所述驱动节点根据所述第一数据表的关键字段集合生成的。
步骤204:利用所述第一布隆索引对第二数据表进行过滤以筛除不在所述第一布隆索引范围内的数据,得到过滤后的第二数据表。
步骤206:针对第一数据表,将所述第一数据表中相同关键字段的值进行关联,获得所述第一数据表的第一关联集合。
步骤208:针对所述第二数据表,将所述第二数据表中相同关键字段的值进行关联,获得所述第二数据表的第二关联集合。
步骤210:根据内存中的关键字段集合生成第二布隆索引。
步骤212:利用所述第二布隆索引对所述第二关联集合进行过滤以筛除不在所述第二布隆索引范围内的数据,得到过滤后的第二关联集合。
步骤214:将所述第一关联集合与过滤后的第二关联集合中,相同关键字段的值进行关联。
例如,本说明书一个或多个实施例中,所述数据处理方法可以应用于spark 分布式系统中的cogroup过程。例如,如图3所示的应用了根据本说明书实施例提供的数据处理方法的cogroup过程示意图。根据本说明书实施例提供的方法优化后的cogroup过程中:驱动节点将数据表内的数据形成key、value的健值对数据结构,对第一数据表数据的key集合生成第一布隆索引,广播到所有执行节点;执行节点根据获得的第一布隆索引将第二数据表数据做过滤,直接排除不在第一布隆索引范围内的无用数据;过滤后,执行节点将数据表的数据根据相同key组成key->iter(value)的结构组织,即相同key的数据关联起来;执行节点根据内存中key集合生成更精细化的第二布隆索引,利用第二布隆索引对第二数据表得到的关联集合进行过滤,之后再将两个关联集合根据相同 key进行关联,最终构成key->(iter(v1),iter(v2))的结构。可见在该实施例中,采用小巧快速的布隆索引过滤技术,在做数据关联前即可将绝大多数无用数据过滤掉,大幅提升了spark中的cogroup过程数据关联效率。
与上述方法实施例相对应,本说明书还提供了数据处理装置实施例,图4 示出了本说明书一个实施例提供的一种数据处理装置的结构示意图。如图4 所示,该装置包括:索引获取模块402、第一过滤模块404及关联模块406。
该索引获取模块402,可以被配置为获取第一数据表的关键字段集合的第一布隆索引,所述第一数据表为键值对数据结构。
该第一过滤模块404,可以被配置为利用所述第一布隆索引对第二数据表进行过滤以筛除不在所述第一布隆索引范围内的数据,得到过滤后的第二数据表,所述第二数据表为键值对数据结构。
该关联模块406,可以被配置为将所述第一数据表以及过滤后的所述第二数据表中,相同关键字段的值进行关联。
可见,由于布隆索引可以用于检索一个元素是否在一个集合中,因此,该装置利用第一布隆索引对第二数据表进行过滤以筛除不在所述第一布隆索引范围内的数据,得到过滤后的第二数据表,从而在做数据关联前可以将第二数据表中的无用数据过滤掉,减少在网络上各节点之间数据移动的开销,再将所述第一数据表以及过滤后的所述第二数据表中相同关键字段的值进行关联,大幅提升了数据关联效率。
图5示出了本说明书另一个实施例提供的一种数据处理装置的结构示意图。如图5所示,所述关联模块406可以包括:第一关联子模块4062、第二关联子模块4064及第三关联子模块4066。
该第一关联子模块4062,可以被配置为针对第一数据表,将所述第一数据表中相同关键字段的值进行关联,获得所述第一数据表的第一关联集合。
该第二关联子模块4064,可以被配置为针对所述第二数据表,将所述第二数据表中相同关键字段的值进行关联,获得所述第二数据表的第二关联集合。
该第三关联子模块4066,可以被配置为将所述第一关联集合与所述第二关联集合中,相同关键字段的值进行关联。
在该实施例中,各个数据表的数据分别根据相同key也即关键字段组成键值对如key->iter(value)的结构组织,即相同key的数据构成一个集合关联起来得到关联集合,从而便于将各个数据表进行关联。
本说明书一个或多个实施例中,如图5所示,所述第三关联子模块4066 可以包括:
该索引生成子模块4066a,可以被配置为根据内存中的关键字段集合生成第二布隆索引。
该过滤子模块4066b,可以被配置为利用所述第二布隆索引对所述第二关联集合进行过滤以筛除不在所述第二布隆索引范围内的数据,得到过滤后的第二关联集合。
该滤后关联子模块4066c,可以被配置为将所述第一关联集合与过滤后的第二关联集合中,相同关键字段的值进行关联。
在该实施例中,考虑到第一布隆索引存在一定的误判率,第二关联集合中仍然存在一些无用数据,因此,在将各个数据表分别关联得到的关联集合之后,关联集合进行关联之前,根据配置该装置的机器的内存中的key集合生成一个更精细化的第二布隆索引,用于过滤第二关联集合中的数据,从而可以将第二关联集合中的无用数据过滤掉,过滤后再进行关联,从而得到key->(iter(v1), iter(v2))的结构组织,大幅提升了数据关联效率。
本说明书一个或多个实施例中,所述装置可以配置于分布式系统的执行节点。所述索引获取模块402,可以被配置为响应于从驱动节点接收到包含所述第一布隆索引的广播,获取所述第一布隆索引,所述第一布隆索引是由所述驱动节点根据所述第一数据表的关键字段集合生成的。
在该实施例中,通过驱动节点将第一布隆索引进行广播,使各个执行节点根据该第一布隆索引对需要与第一数据表进行关联的第二数据表进行过滤,从而在执行节点做数据关联前可以将第二数据表中的无用数据过滤掉,有效减少数据在分布式系统各节点之间数据移动的开销,再将所述第一数据表以及过滤后的所述第二数据表中相同关键字段的值进行关联,大幅提升了数据关联效率。
上述为本实施例的一种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的数据处理方法的技术方案属于同一构思,数据处理装置的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
图6示出了根据本说明书一个实施例提供的一种计算设备600的结构框图。该计算设备600的部件包括但不限于存储器610和处理器620。处理器620 与存储器610通过总线630相连接,数据库650用于保存数据。
计算设备600还包括接入设备640,接入设备640使得计算设备600能够经由一个或多个网络660通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备640可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN) 无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线 (USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备600的上述部件以及图6中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图6所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备600可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC 的静止计算设备。计算设备600还可以是移动式或静止式的服务器。
其中,处理器620用于执行如下计算机可执行指令:
获取第一数据表的关键字段集合的第一布隆索引,所述第一数据表为键值对数据结构;
利用所述第一布隆索引对第二数据表进行过滤以筛除不在所述第一布隆索引范围内的数据,得到过滤后的第二数据表,所述第二数据表为键值对数据结构;
将所述第一数据表以及过滤后的所述第二数据表中,相同关键字段的值进行关联。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于:
获取第一数据表的关键字段集合的第一布隆索引,所述第一数据表为键值对数据结构;
利用所述第一布隆索引对第二数据表进行过滤以筛除不在所述第一布隆索引范围内的数据,得到过滤后的第二数据表,所述第二数据表为键值对数据结构;
将所述第一数据表以及过滤后的所述第二数据表中,相同关键字段的值进行关联。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,在有关二维码的应用场景下,服务器接收到请求后,可以生成二维码,并返回给客户端。本说明书一些实施例中,服务器返回给客户端的可以是服务器根据接收到的请求生成的码值,客户端可以将服务器返回的码值映射为对应的二维码,并渲染和展示该二维码。或者,服务器也可以直接根据接收到的请求生成二维码图片,将生成的二维码图片返回给客户端,以供客户端展示接收到的二维码图片。并且,根据实际使用需要,二维码的生成过程包括但不限于上述解释,本说明书实施例不作具体限定。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (8)
1.一种数据处理方法,包括:
获取第一数据表的关键字段集合的第一布隆索引,所述第一数据表为键值对数据结构;
利用所述第一布隆索引对第二数据表进行过滤以筛除不在所述第一布隆索引范围内的数据,得到过滤后的第二数据表,所述第二数据表为键值对数据结构;
将所述第一数据表以及过滤后的所述第二数据表中,相同关键字段的值进行关联;
所述将所述第一数据表以及过滤后的所述第二数据表中,相同关键字段的值进行关联包括:
针对第一数据表,将所述第一数据表中相同关键字段的值进行关联,获得所述第一数据表的第一关联集合;
针对所述第二数据表,将所述第二数据表中相同关键字段的值进行关联,获得所述第二数据表的第二关联集合;
将所述第一关联集合与所述第二关联集合中,相同关键字段的值进行关联;
所述将所述第一关联集合与所述第二关联集合中,相同关键字段的值进行关联包括:
根据所述第一关联集合的关键字段集合生成第二布隆索引;
利用所述第二布隆索引对所述第二关联集合进行过滤以筛除不在所述第二布隆索引范围内的数据,得到过滤后的第二关联集合;
将所述第一关联集合与过滤后的第二关联集合中,相同关键字段的值进行关联。
2.根据权利要求1所述的方法,所述方法应用于分布式系统的执行节点;所述获取第一数据表的关键字段集合的第一布隆索引包括:
所述执行节点响应于从驱动节点接收到包含所述第一布隆索引的广播,获取所述第一布隆索引,所述第一布隆索引是由所述驱动节点根据所述第一数据表的关键字段集合生成的。
3.根据权利要求1所述的方法,所述方法应用于spark分布式系统中的cogroup过程。
4.根据权利要求1所述的方法,所述第一数据表为用户数据表,所述第二数据表为用户历史交易数据表,所述关键字段为用户ID。
5.一种数据处理装置,包括:
索引获取模块,被配置为获取第一数据表的关键字段集合的第一布隆索引,所述第一数据表为键值对数据结构;
第一过滤模块,被配置为利用所述第一布隆索引对第二数据表进行过滤以筛除不在所述第一布隆索引范围内的数据,得到过滤后的第二数据表,所述第二数据表为键值对数据结构;
关联模块,被配置为将所述第一数据表以及过滤后的所述第二数据表中,相同关键字段的值进行关联;
所述关联模块包括:
第一关联子模块,被配置为针对第一数据表,将所述第一数据表中相同关键字段的值进行关联,获得所述第一数据表的第一关联集合;
第二关联子模块,被配置为针对所述第二数据表,将所述第二数据表中相同关键字段的值进行关联,获得所述第二数据表的第二关联集合;
第三关联子模块,被配置为将所述第一关联集合与所述第二关联集合中,相同关键字段的值进行关联;
所述第三关联子模块包括:
索引生成子模块,被配置为根据所述第一关联集合的关键字段集合生成第二布隆索引;
过滤子模块,被配置为利用所述第二布隆索引对所述第二关联集合进行过滤以筛除不在所述第二布隆索引范围内的数据,得到过滤后的第二关联集合;
滤后关联子模块,被配置为将所述第一关联集合与过滤后的第二关联集合中,相同关键字段的值进行关联。
6.根据权利要求5所述的装置,所述装置配置于分布式系统的执行节点;所述索引获取模块,被配置为响应于从驱动节点接收到包含所述第一布隆索引的广播,获取所述第一布隆索引,所述第一布隆索引是由所述驱动节点根据所述第一数据表的关键字段集合生成的。
7.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
获取第一数据表的关键字段集合的第一布隆索引,所述第一数据表为键值对数据结构;
利用所述第一布隆索引对第二数据表进行过滤以筛除不在所述第一布隆索引范围内的数据,得到过滤后的第二数据表,所述第二数据表为键值对数据结构;
将所述第一数据表以及过滤后的所述第二数据表中,相同关键字段的值进行关联;
所述将所述第一数据表以及过滤后的所述第二数据表中,相同关键字段的值进行关联包括:
针对第一数据表,将所述第一数据表中相同关键字段的值进行关联,获得所述第一数据表的第一关联集合;
针对所述第二数据表,将所述第二数据表中相同关键字段的值进行关联,获得所述第二数据表的第二关联集合;
将所述第一关联集合与所述第二关联集合中,相同关键字段的值进行关联;
所述将所述第一关联集合与所述第二关联集合中,相同关键字段的值进行关联包括:
根据所述第一关联集合的关键字段集合生成第二布隆索引;
利用所述第二布隆索引对所述第二关联集合进行过滤以筛除不在所述第二布隆索引范围内的数据,得到过滤后的第二关联集合;
将所述第一关联集合与过滤后的第二关联集合中,相同关键字段的值进行关联。
8.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求1至4任意一项所述数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010408131.9A CN111475492B (zh) | 2020-05-14 | 2020-05-14 | 数据处理方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010408131.9A CN111475492B (zh) | 2020-05-14 | 2020-05-14 | 数据处理方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111475492A CN111475492A (zh) | 2020-07-31 |
CN111475492B true CN111475492B (zh) | 2023-06-16 |
Family
ID=71759891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010408131.9A Active CN111475492B (zh) | 2020-05-14 | 2020-05-14 | 数据处理方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111475492B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760898A (zh) * | 2021-01-25 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 表连接操作的处理方法和装置 |
CN114145714B (zh) * | 2021-12-02 | 2024-06-04 | 孙波 | 一种用于社区老人行为感知用智能腕表 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108140050B (zh) * | 2016-04-25 | 2020-08-25 | 华为技术有限公司 | 一种使用布隆过滤器过滤文件的方法及装置 |
CN108205571B (zh) * | 2016-12-20 | 2022-04-29 | 航天信息股份有限公司 | 键值数据表的连接方法及装置 |
CN109597807A (zh) * | 2018-10-25 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 数仓表处理方法和装置 |
-
2020
- 2020-05-14 CN CN202010408131.9A patent/CN111475492B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111475492A (zh) | 2020-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795417A (zh) | 一种知识图谱的存储系统及方法 | |
US20210049478A1 (en) | Feature relationship recommendation method, apparatus, computing device, and storage medium | |
CN111475492B (zh) | 数据处理方法以及装置 | |
CN111949324B (zh) | 一种分布式序列号生成方法和装置 | |
CN110245191B (zh) | 数据处理方法及装置 | |
CN105898085A (zh) | 骚扰通信账号的识别方法及装置 | |
CN109829073B (zh) | 一种图像搜索的方法及装置 | |
CN111783415B (zh) | 模板配置方法以及装置 | |
CN115422270A (zh) | 信息处理方法及装置 | |
CN111177481B (zh) | 用户标识映射方法及装置 | |
CN113297269A (zh) | 数据查询方法及装置 | |
CN114741400A (zh) | 一种数据同步及解析方法、装置及终端设备 | |
CN114416485A (zh) | 数据处理方法及装置 | |
CN101442539B (zh) | 实现字段过滤的方法和装置 | |
WO2023207980A1 (zh) | 模型信息获取方法、发送方法、装置、节点和储存介质 | |
CN112148712A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN112380115A (zh) | 一种回归测试方法、装置、电子设备及存储介质 | |
CN111291123A (zh) | 任务节点管理方法以及装置 | |
CN111966903A (zh) | 应用软件功能推荐方法及装置 | |
CN111897490B (zh) | 删除数据的方法以及装置 | |
CN110750561A (zh) | 一种关联应用程序挖掘的方法及装置 | |
CN116955709A (zh) | 一种用户数据融合处理方法及系统 | |
CN110471708B (zh) | 基于可重用组件的配置项获取的方法及装置 | |
US20200257664A1 (en) | Node layout determining method and apparatus, computing device, and computer readable medium | |
CN114462502A (zh) | 一种核身推荐模型训练方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230113 Address after: 201208 Floor 15, No. 447, Nanquan North Road, Pudong New Area, Shanghai Applicant after: Alipay.com Co.,Ltd. Address before: 801-11, Section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province, 310013 Applicant before: Alipay (Hangzhou) Information Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |