【技术实现步骤摘要】
一种数据集列序列化的高效连接比对实现方法及装置
[0001]本专利技术涉及数据库
,特别是涉及一种数据集列序列化的高效连接比对实现方法及装置。
技术介绍
[0002]连接是数据集之间进行交互最常见的操作,两个数据集进行关联计算时(如多表查询、增量比对、数据集的聚合等),首先要进行数据集的连接,而连接的本质实际是排序、分组、合并的过程,而如何提升数据集之间连接的效率对于两个数据集进行关联计算至关重要。
[0003]以传统ETL(Extract
‑
Transform
‑
Load数据仓库技术)中的连接为例,先要对整个数据集进行排序,然后轮询两个数据集数据,进行数据间的比对。当数据集数据量比较小时,这种方式不存在问题,当数据量很大时,单纯排序就会花费大量的性能开销,使得效率大大的降低。
[0004]在实际生产中,常用的数据集连接有三种做法,具体为:
[0005]数据集连接做法之一:先将数据集A、B分别以连接列进行排序(同为升序或降序)。以升序为例,将排序好的数据集A和B依次放入队列中,并轮询比较A和B的连接列,如果相同,则分为一组,如果连接列A>B,继续轮询B,如果连接列A<B,则继续轮询A。此种方式可匹配出连接列相同的数据,分组后进行后续的处理。在此过程中,需要进行数据集A、B的排序,当数据量很大时,效率通常会很低,不利于生产。
[0006]数据集连接做法之二:利用传统的Map Reduce方法进行数据集连接操作,而Red ...
【技术保护点】
【技术特征摘要】
1.一种数据集列序列化的高效连接比对实现方法,其特征在于,包括:根据数据集A和数据集B的变量,挑选出数据集A和数据集B的连接列;对数据集A包含的各个连接列进行合并,以及各个非连接列进行合并,得到新的数据集A
′
;对数据集B包含的各个连接列进行合并,以及各个非连接列进行合并,得到新的数据集B
′
;比对数据集A
′
与数据集B
′
的连接列,根据比对的结果,将数据集A
′
和数据集B
′
进行合并为数据集C;根据数据集C非连接列的数据来源,获取数据集C非连接列不同数据来源的有序对,得到数据集A与数据集B的连接结果。2.根据权利要求1所述的数据集列序列化的高效连接比对实现方法,其特征在于,所述数据集A和数据集B的连接列为数据集A与数据集B具有相同变量的列,并且,所述数据集A和数据集B相同的变量可以为一个或多个。3.根据权利要求1所述的数据集列序列化的高效连接比对实现方法,其特征在于,所述数据集A合并得到数据集A
′
,以及数据集B合并得到数据集B
′
的过程仅为单元格的合并,合并后保留原有对象的排列方式,合并后的数据集A
′
和数据集B
′
都只包含一列连接列和一列非连接列。4.根据权利要求1所述的数据集列序列化的高效连接比对实现方法,其特征在于,所述比对数据集A
′
与数据集B
′
的连接列,还包括比对数据集A
′
和数据集B
′
序列化后的key值数组,具体为:分别对数据集A
′
和数据集B
′
进行序列化,将连接列转换为key值数组;比对数据集A
′
和数据集B
′
序列化后的key值数组,得出比对结果。5.根据权利要求4所述的数据集列序列化的高效连接比对实现方法,其特征在于,所述分别对所述数据集A
′
和数据集B
′
的进行序列化具体包括:对数据集A
′...
【专利技术属性】
技术研发人员:梅纲,吴鑫,高东升,姚艳玲,
申请(专利权)人:北京达梦数据库技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。