超大数据集的合并方法及装置制造方法及图纸

技术编号:19822176 阅读:24 留言:0更新日期:2018-12-19 14:50
本发明专利技术提供了一种超大数据集的合并方法及装置,涉及数据处理技术领域,用于解决现有技术中超大数据集的合并效率偏低的问题。本发明专利技术提供的方法及装置基于分布式计算实现,包括:将第一数据集的第一关联主键转换为预设字段类型的数据后根据第一关联主键对第一数据集进行分片,获取预设数量的第一数据分片并将其缓存至预设缓存系统;将第二数据集的第二关联主键转换为预设字段类型的数据后根据第二关联主键对第二数据集进行分片,获取预设数量的第二数据分片;从预设缓存系统中读取第一数据分片,对第一数据分片和第二数据分片进行匹配,并将匹配后的第一数据分片和第二数据分片进行合并。本发明专利技术能够用于对超大数据集进行合并。

【技术实现步骤摘要】
超大数据集的合并方法及装置
本专利技术涉及数据处理
,尤其涉及一种超大数据集的合并方法及装置。
技术介绍
超大数据集是由数据量级非常大的数据集所组成的数据集的集合。目前,由于超大数据集具有非常大的数据量级,同时新增数据量级也非常大,受到系统内存和磁盘的等系统资源条件的限制,超大数据集难以存储到关系型数据库中,因此在对两个关联的超大数据集进行关联分析,通常会将两个关联的超大数据集进行合并,将针对两个关联的超大数据集进行关联分析的过程转换为针对单一数据集的检索、分类和统计,以降低从关联的超大数据集中挖掘信息的难度。然而,实际情况中,在对两个关联的超大数据集进行合并时,通常都是将一些数据量级较小的数据集先存储到数据库中,数据量级较大的数据集拆分为多块数据分片后与存储到数据库中的数据集并行执行合并,上述过程主要存在以下问题:首先,现有技术中对数据集进行分片的分片结果中会出现数据倾斜的情况,即出现大量数据被集中分在一个或多个少量分片上进行数据合并计算,而剩余的少量数据又被分在剩余的大量分片上进行数据合并计算,由于合并计算的整体效率是根据全部分片的计算效率决定的,而上述少量分片的合并计算效率远远低于全部分片的平均合并计算效率,由此大大降低了数据集的整体合并效率;其次,在执行合并的过程中,需要逐条遍历每块数据分片的数据,即每读取一条数据,则需要向数据库发送一次访问请求以查找数据库中是否存在能够与上述数据进行合并的对应数据,由此导致对数据库的请求次数过多,网络压力升高;同时,受限于数据库性能,多数数据库的请求次数有限,极大限制了数据集的整体合并效率的提升。专利技术内容本专利技术的实施例提供一种超大数据集的合并方法以及装置,用于解决现有技术中超大数据集的合并效率偏低的问题。为了达到上述目的,本专利技术采用如下技术方案:第一方面,本专利技术提供一种超大数据集的合并方法,该方法基于分布式计算实现,包括:将第一数据集的第一关联主键转换为预设字段类型的数据后根据第一关联主键对第一数据集进行分片,获取预设数量的第一数据分片并将其缓存至预设缓存系统;将第二数据集的第二关联主键转换为预设字段类型的数据后根据第二关联主键对第二数据集进行分片,获取预设数量的第二数据分片;从预设缓存系统中读取第一数据分片,对第一数据分片和第二数据分片进行匹配,并将匹配后的第一数据分片和第二数据分片进行合并。在本专利技术提供的超大数据集的合并方法中,能够将两个待合并的数据集的关联主键转换为预设字段类型的数据,以使得在基于分布式计算对两个待合并的数据集进行分片时,能够根据转换为预设字段类型的数据的关联主键将数据集中的数据尽可能均匀地分配到数据集的每个分片上,有效避免分片结果中出现数据倾斜的情况,提升数据集整体合并效率;同时,本专利技术通过将待合并的数据集缓存至预设缓存系统来代替将待合并的数据集存储至数据库,使数据集的合并过程不再受到访问数据库压力以及访问数据库次数的限制,有效提升数据集的整体合并效率。可选地,预设字段类型为字节型,预设字段类型的数据为字节型的long值。可选地,将第一数据集的第一关联主键转换为预设字段类型的数据后根据第一关联主键对第一数据集进行分片具体为:预先读取第一数据集中的第一数据,提取第一数据中需要合并的第一字段;判断第一字段是否有效;若判断结果为是,将第一数据集的第一关联主键转换为字节型并获取第一关联主键的long值;计算第一数据集的第一关联主键long值的第一哈希值,根据第一哈希值对第一数据集进行分片,获取预设数量的第一数据分片并将其缓存至预设缓存系统。可选地,将第二数据集的第二关联主键转换为预设字段类型的数据后根据第二关联主键对第二数据集进行分片具体为:预先读取第二数据集中的第二数据,提取第二数据中需要合并的第二字段;判断第二字段是否有效;若判断结果为是,将第二数据集的第二关联主键转换为字节型并获取第二关联主键的long值;计算第二关联主键long值的第二哈希值,根据第二哈希值对第二数据集进行分片。可选地,为每个第一数据分片分配对应的分片号、以及为每个第二数据分片分配对应的分片号;则从预设缓存系统中读取第一数据分片,对第一数据分片和第二数据分片进行匹配具体为:从预设缓存系统中读取第一数据分片,为每个第一数据分片分配对应的分片号、以及为每个第二数据分片分配对应的分片号。可选地,将匹配的第一数据分片和第二数据分片进行合并具体为:预先重组第二数据分片的第二数据分片数据;从预设缓存系统中逐条读取第一数据分片中的第一数据分片数据,查找与第一数据分片匹配的第二数据分片中是否存在第一数据分片数据的第一关联主键;若是,则根据第一数据分片数据的第一关联主键以及预设的关联条件查找第二数据分片中是否存在与第一数据分片数据匹配的第二数据分片数据;若是,则将第一数据分片数据与第二数据分片数据进行合并。可选地,根据第一数据集以及第二数据集的数据大小确定预设数量。第二方面,本专利技术提供一种超大数据集的合并装置,该装置基于分布式计算实现,包括:第一分片模块,用于将第一数据集的第一关联主键转换为预设字段类型的数据后根据第一关联主键对第一数据集进行分片,获取预设数量的第一数据分片并将其缓存至预设缓存系统;第二分片模块,用于将第二数据集的第二关联主键转换为预设字段类型的数据后根据第二关联主键对第二数据集进行分片,获取预设数量的第二数据分片;匹配模块,用于从预设缓存系统中读取第一数据分片,对第一数据分片和第二数据分片进行匹配;合并模块,用于将匹配后的第一数据分片和第二数据分片进行合并。可选地,预设字段类型为字节型,预设字段类型的数据为字节型的long值。可选地,第一分片模块具体用于:预先读取第一数据集中的第一数据,提取第一数据中需要合并的第一字段;判断第一字段是否有效;若判断结果为是,将第一数据集的第一关联主键转换为字节型并获取第一关联主键的long值;计算第一数据集的第一关联主键long值的第一哈希值,根据第一哈希值对第一数据集进行分片,获取预设数量的第一数据分片并将其缓存至预设缓存系统。可选地,第二分片模块具体用于:预先读取第二数据集中的第二数据,提取第二数据中需要合并的第二字段;判断第二字段是否有效;若判断结果为是,将第二数据集的第二关联主键转换为字节型并获取第二关联主键的long值;计算第二关联主键long值的第二哈希值,根据第二哈希值对第二数据集进行分片。可选地,为每个第一数据分片分配对应的分片号、以及为每个第二数据分片分配对应的分片号;则匹配模块具体用于:从预设缓存系统中读取第一数据分片,根据第一数据分片的分片号以及第二数据分片的分片号对第一数据分片和第二数据分片进行匹配。可选地,合并模块具体用于:预先重组第二数据分片的第二数据分片数据;从预设缓存系统中逐条读取第一数据分片中的第一数据分片数据,在与第一数据分片匹配的第二数据分片中查找是否存在第一数据分片数据的第一关联主键;若是,则根据第一数据分片数据的第一关联主键以及预设的关联条件查找第二数据分片是否存在与第一数据分片数据匹配的第二数据分片数据;若是,则将第一数据分片数据与第二数据分片数据进行合并。可选地,根据第一数据集以及第二数据集的数据大小确定预设数量。第三方面,提供一种超大数据集的合并装置,包括通信接口、处本文档来自技高网...

【技术保护点】
1.一种超大数据集的合并方法,其特征在于,所述方法基于分布式计算实现,包括:将第一数据集的第一关联主键转换为预设字段类型的数据后根据所述第一关联主键对所述第一数据集进行分片,获取预设数量的第一数据分片并将其缓存至预设缓存系统;将第二数据集的第二关联主键转换为预设字段类型的数据后根据所述第二关联主键对所述第二数据集进行分片,获取预设数量的第二数据分片;从所述预设缓存系统中读取所述第一数据分片,对所述第一数据分片和所述第二数据分片进行匹配,并将匹配后的第一数据分片和第二数据分片进行合并。

【技术特征摘要】
1.一种超大数据集的合并方法,其特征在于,所述方法基于分布式计算实现,包括:将第一数据集的第一关联主键转换为预设字段类型的数据后根据所述第一关联主键对所述第一数据集进行分片,获取预设数量的第一数据分片并将其缓存至预设缓存系统;将第二数据集的第二关联主键转换为预设字段类型的数据后根据所述第二关联主键对所述第二数据集进行分片,获取预设数量的第二数据分片;从所述预设缓存系统中读取所述第一数据分片,对所述第一数据分片和所述第二数据分片进行匹配,并将匹配后的第一数据分片和第二数据分片进行合并。2.根据权利要求1所述的超大数据集的合并方法,其特征在于,所述预设字段类型为字节型,所述预设字段类型的数据为long值。3.根据权利要求2所述的超大数据集的合并方法,其特征在于,所述将第一数据集的第一关联主键转换为预设字段类型的数据后根据所述第一关联主键对所述第一数据集进行分片具体为:预先读取所述第一数据集中的第一数据,提取所述第一数据中需要合并的第一字段;判断所述第一字段是否有效;若判断结果为是,将所述第一数据集的第一关联主键转换为字节型并获取所述第一关联主键的long值;计算所述第一数据集的第一关联主键long值的第一哈希值,根据所述第一哈希值对所述第一数据集进行分片,获取预设数量的第一数据分片并将其缓存至预设缓存系统。4.根据权利要求3所述的超大数据集的合并方法,其特征在于,所述将第二数据集的第二关联主键转换为预设字段类型的数据后根据所述第二关联主键对所述第二数据集进行分片具体为:预先读取所述第二数据集中的第二数据,提取所述第二数据中需要合并的第二字段;判断所述第二字段是否有效;若判断结果为是,将所述第二数据集的第二关联主键转换为字节型并获取所述第二关联主键的long值;计算所述第二关联主键long值的第二哈希值,根据所述第二哈希值对所述第二数据集进行分片。5.根据权利要求4所述的超大数据集的合并方法,其特征在于,为每个第一数据分片分配对应的分片号、以及为每个第二数据分片分配对应的分片号;则所述从所述预设缓存系统中读取所述第一数据分片,对所述第一数据分片和所述第二数据分片进行匹配具体为:从所述预设缓存系统中读取所述第一数据分片,根据所述第一数据分片的分片号以及所述第二数据分片的分片号对所述第一数据分片和所述第二数据分片进行匹配。6.根据权利要求1所述的超大数据集的合并方法,其特征在于,所述将匹配的第一数据分片和第二数据分片进行合并具体为:预先重组所述第二数据分片的第二数据分片数据;从所述预设缓存系统中逐条读取第一数据分片中的第一数据分片数据,查找与所述第一数据分片匹配的第二数据分片中是否存在所述第一数据分片数据的第一关联主键;若是,则根据所述第一数据分片数据的第一关联主键以及预设的关联条件查找所述第二数据分片中是否存在与所述第一数据分片数据匹配的第二数据分片数据;若是,则将所述第一数据分片数据与所述第二数据分片数据进行合并。7.根据权利要求1所述的超大...

【专利技术属性】
技术研发人员:史贵振高福海张莹莹
申请(专利权)人:成都亚信网络安全产业技术研究院有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1