[发明专利]跨多数据表的数据处理方法、装置、介质和计算设备有效
申请号: | 201710866877.2 | 申请日: | 2017-09-22 |
公开(公告)号: | CN108268586B | 公开(公告)日: | 2020-06-16 |
发明(设计)人: | 李光明 | 申请(专利权)人: | 阿里巴巴(中国)有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2458 |
代理公司: | 上海知锦知识产权代理事务所(特殊普通合伙) 31327 | 代理人: | 汤陈龙 |
地址: | 310052 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多数 数据处理 方法 装置 介质 计算 设备 | ||
本申请提供一种跨多数据表的数据处理方法、装置、介质和计算设备。所述方法包括:获取多个第一数据表;将多个第一数据表中每个第一数据表的每一行转换为一个子数据表,所述子数据表的每一行包括所述对象标识和所述对象标识所标识的对象的一个特征数据,所述第一数据表对应的子数据表构成第二数据表;以第二数据表中的特征数据为连接键,对每个第一数据表对应的第二数据表进行表连接,得到目标数据表。本申请提供的上述方法根据实际业务需求转换角度,以特征数据为立足点,在不引入冗余数据的情况下将多个数据表中的对象进行关联,可以分布到多个Reducer中执行,具有较高的数据处理能力和数据处理效率,可以高效地胜任大数据处理。
技术领域
本申请涉及数据处理技术领域,尤其涉及一种跨多数据表的数据处理方法、装置、介质和计算设备。
背景技术
随着互联网及大数据技术的快速发展,数据挖掘分析对于人类活动的影响日益显著,通过大数据可以进行对象之间的相关性分析,确定不同对象之间的内在关联关系,进而通过兴趣推荐等方式提高用户生活质量,例如,通过分析用户共同阅读过的文章,可以确定用户之间的相关性,进而向具有相同兴趣的用户进行文章推荐,提高用户体验。
在进行相关性分析或推荐时,往往需要跨多个数据表分析用户之间的相关性,目前常用的方法是,将多个数据表通过笛卡尔积合并为一个数据表后再通过映射规约(MapReduce)进行分析。但实际应用中,随着数据量越来越大,基于笛卡尔积对海量数据表进行操作效率越来越低,比如,统计两组用户两两之间阅读过的相同文章的数量,按照上述方法,需要将两组用户对应的数据表进行笛卡尔积操作后再通过Reducer(执行规约任务的任务机)进行分析。但是,由于笛卡尔积没有连接键,只能使用一个Reducer完成分析任务,在数据量较大时,受单一Reducer处理能力制约,容易造成Reducer的任务执行结果不正确,甚至任务无法执行完成的情况。
针对上述问题,目前有两种解决方案:
一种解决方案是:如果要进行笛卡尔积操作的两个表中,有一个是小表(数据量远小于另一个表),可以将这张小表的数据加载到内存中,从而加速笛卡尔积的处理速度。但是这种解决方案的一个重要限制就是:受内存容量制约,必须要存在一张规模远小于另一张表的数据表才会生效。因此,该解决方案显然难以胜任大数据表的处理。
另一种解决方案是:额外构造join key(连接键),通过表连接操作代替笛卡尔积操作,具体做法是将小表扩充一列join key,并将小表的条目复制数倍,且join key各不相同;将大表扩充一列join key为小表扩充数倍之后数据总量范围内的随机数。例如,假设小表中只有1条数据,大表中1000条数据,给小表添加一列join key,设其值为1,将该数据扩充四倍,其join key的值分别为2~5,大表中的join key,使用1~5之间的随机数,比如有200个1,200个2,200个3,200个4和200个5,此时,根据join key进行两个表的连接操作时,就会产生5个reducer,同时将大表的数据随机分成了5份(小表扩展后的倍数),从而解决了上述问题。但是,该解决方案的的本质仍然与笛卡尔积操作相同,其弊端是会造成数据的冗余,且实际执行起来比较繁琐、效率低下。
综上,目前迫切需要一种能够胜任大数据处理的、高效的跨多数据表的数据处理方法。
发明内容
本申请提供一种跨多数据表的数据处理方法、装置、介质和计算设备,以高效地对大数据进行处理。
一方面,本申请提供一种跨多数据表的数据处理方法,包括:
获取多个第一数据表,所述多个第一数据表中的每个第一数据表的每一行包括对象标识和所述对象标识所标识的对象的多个特征数据;
将多个第一数据表中每个第一数据表的每一行转换为一个子数据表,所述子数据表的每一行包括所述对象标识和所述对象标识所标识的对象的一个特征数据,所述第一数据表对应的子数据表构成第二数据表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴(中国)有限公司,未经阿里巴巴(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710866877.2/2.html,转载请声明来源钻瓜专利网。