The present invention provides a table of data association method and device, the method is applied to the association of the first data table and data table second; among them, the first data table includes: can cause non tilt data beyond the tilt data data skew and the tilt data, the method comprises: a first data table extraction of tilt data into a first data table, and non tilt data into second data table; extracted by second data tables, first data table data into third data tables; the first data table and third data table mapjoin first association table, second tables and data points table second data association, second association table; the first association table and second association table are combined, the association results are obtained in table, table of results for the first data association The result of the table associated with the second data table. The invention improves the efficiency of the data table association.
【技术实现步骤摘要】
一种数据表关联方法和装置
本专利技术涉及数据处理技术,特别涉及一种数据表关联方法和装置。
技术介绍
在数据仓库进行数据清洗时,其中一种常用的清洗方式是数据表和数据表之间的关联,这种数据仓库中的数据表之间的关联可以称为join操作。参与join的数据表中通常具有相同的关联键(数据表之间关联时使用的连接字段),如果将关联键称为key,例如,其中一个数据表中存储该key与信息A的对应关系,另一个数据表中存储该Key与信息B的对应关系,在两者join时,可以根据关联键key,将对应相同key的信息A和信息B组合在一张新数据表中,该新数据表可以包含该key与对应的信息A、信息B。在join的过程中经常出现的一种情况是数据倾斜,数据倾斜即:参与join的数据表中,其中一个数据表包含大量的相同key值的数据记录,例如,某个用户登陆信息数据表中,记载有用户ID“123”这个用户分别在不同时间进行登陆的百万或千万条数据记录(例如,其中一条记录是“用户ID123——登陆时间2016.3.21”)。那么在数据仓库使用的分布式计算平台上处理该数据表与其他数据表的join操作时,通常计算时间会较长。
技术实现思路
有鉴于此,本专利技术提供一种数据表关联方法和装置,以在存在数据倾斜的数据表之间关联时,提高数据表关联的效率。具体地,本专利技术是通过如下技术方案实现的:第一方面,提供一种数据表关联方法,该方法应用于对第一数据表和第二数据表进行关联;其中,所述第一数据表中包括:能够造成数据倾斜的倾斜数据以及所述倾斜数据之外的非倾斜数据,所述方法包括:由所述第一数据表中提取所述倾斜数据放入第一数 ...
【技术保护点】
一种数据表关联方法,其特征在于,所述方法应用于对第一数据表和第二数据表进行关联;其中,所述第一数据表中包括:能够造成数据倾斜的倾斜数据以及所述倾斜数据之外的非倾斜数据,所述方法包括:由所述第一数据表中提取所述倾斜数据放入第一数据分表,并将所述非倾斜数据放入第二数据分表;由所述第二数据表中提取匹配关联所述第一数据分表的数据,放入第三数据分表;将所述第一数据分表和第三数据分表进行mapjoin得到第一关联表,将所述第二数据分表和所述第二数据表进行join,得到第二关联表;将所述第一关联表和第二关联表进行组合,得到关联结果表,所述关联结果表为所述第一数据表和第二数据表关联的结果。
【技术特征摘要】
1.一种数据表关联方法,其特征在于,所述方法应用于对第一数据表和第二数据表进行关联;其中,所述第一数据表中包括:能够造成数据倾斜的倾斜数据以及所述倾斜数据之外的非倾斜数据,所述方法包括:由所述第一数据表中提取所述倾斜数据放入第一数据分表,并将所述非倾斜数据放入第二数据分表;由所述第二数据表中提取匹配关联所述第一数据分表的数据,放入第三数据分表;将所述第一数据分表和第三数据分表进行mapjoin得到第一关联表,将所述第二数据分表和所述第二数据表进行join,得到第二关联表;将所述第一关联表和第二关联表进行组合,得到关联结果表,所述关联结果表为所述第一数据表和第二数据表关联的结果。2.根据权利要求1所述的方法,其特征在于,所述由第一数据表中提取所述倾斜数据放入第一数据分表,并将所述非倾斜数据放入第二数据分表,包括:由所述第一数据表中提取造成数据倾斜的至少一个关联键,将所述至少一个关联键放入关联键子表中;根据所述关联键子表,将所述第一数据表中匹配关联所述关联键子表的数据放入所述第一数据分表,将不能匹配关联所述关联键子表的数据放入所述第二数据分表。3.根据权利要求2所述的方法,其特征在于,所述由所述第一数据表中提取造成数据倾斜的至少一个关联键,包括:统计所述第一数据表中的各个关联键的数量,将各个关联键按照数量由多到少的顺序进行排序;根据预先设定的关联键数量上限,获取排序位数在所述关联键数量上限之内的至少一个关联键,作为所述造成数据倾斜的至少一个关联键。4.根据权利要求2所述的方法,其特征在于,所述由所述第二数据表中提取匹配关联所述第一数据分表的数据,放入第三数据分表,包括:将所述关联键子表与所述第二数据表进行关联,将关联得到的所述第二数据表的数据放入所述第三数据分表。5.根据权利要求2所述的方法,其特征在于,所述根据所述关联键子表,将所述第一数据表中匹配关联所述关联键子表的数据放入所述第一数据分表,将不能匹配关联所述关联键子表的数据放入所述第二数据分表,包括:将所述关联键子表与所述第一数据表进行第一次mapjoin,得到匹配关联所述关联键子表的数据放入所述第一数据分表;将所述关联键子表与所述第一数据表进行第二次mapjoin,得到不能匹配关联所述关联键子表的数据放入所述第二数据分表;或者,将所述关联键子表与所述第一数据表进行一次mapjoin,分别对匹配关联所述关联键子表的数据和不能匹配关联所述关联键子表的数据进行标识;根据所述标识,将所述匹配关联所述关联键子表的数据...
【专利技术属性】
技术研发人员:康树鹏,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。