The invention provides a method for calculating one to one join and one to many join by a merging algorithm. The interrelated data sets, A and B, which are very large in memory, are characterized by the prior knowledge and determination of the association keys. In the disk of the A data set and B data set with the following preparations, ordering them according to the primary key, master data set between main data sets A sorted according to its primary key, sorting data set B according to the related primary key order or all have a relationship with the primary key, the historical data of these preparations the calculation of join set to save all the good; one dimensional calculation of join A data set and B data set by merging algorithm, A and B as long as their traversal time, then you can focus on references in the combined data records.
【技术实现步骤摘要】
一种用归并算法计算一对一join、一对多join的方法
本专利技术涉及计算一对一join、一对多join,更具体地来说,特别涉及一种用归并算法计算一对一join、一对多join的方法。
技术介绍
有时为了得到完整的结果,我们需要从两个或更多的数据集中获取结果。我们就需要执行join计算。一对一join的关系是两个数据集之间的一种关系,该关系中第一个数据集中的单个行与第二个数据集中的单个行相关。如果这两个数据集关联的键都为主键时,称这两个数据集为同维数据集。一对多join的关系是两个数据集之间的一种关系,该关系中第一个数据集中的单个行与第二个数据集中的一个或多个行相关,但第二个数据集中的一个行只可以与第一个数据集中的一个行相关。如果在应用中,某个数据集包含了一片或者多片区域,每一片区域都针对同一个对象,但是各区域又各自展示不同的主题,像这样的一对多join关系我们称之为主子数据集。其中每一小片区域称为子数据集,子数据集构成的数据集整体称为主数据集。主子数据集的特点是子数据集的关联键是主数据集关联主键的一部分。数据集可通过键将彼此联系起来。主键(PrimaryKey)是一个列,在这个列中的每一行的键值都是唯一的。在数据集中,每个主键的键值都是唯一的。这样做的目的是在不重复每个数据集中的所有数据的情况下,把数据集间的数据交叉捆绑在一起。hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的键值(又叫做预映射,pre-image),通过散列算法,变换成固定长度的hash值。这种转换是一种压缩映射,也就是,hash值的空间通常远小于键值的空间,不同 ...
【技术保护点】
一种用归并算法计算一对一join、一对多join的方法,步骤如下:a.对在外存中的数据集A和B进行如下准备工作,同维数据集关系按照它们的主键排序,主子数据集关系主数据集A按照它的主键排序,子数据集B按关联主键的键排序或者全部和主键有关系的键排序(关联对应的键放到前边),把这些准备计算join的历史数据集全部保存好;(这是一次性准备工作,以后A和B再计算join时就不需要做这步准备了。)b.用归并算法计算一对一join同维数据集A和B时,数据集A和B只要各自遍历一次,然后就可以在合并数据集中引用记录了。计算一对多join主子数据集A和B的时候,原理和方法同上步骤2。就是把子数据集主键换成子数据集对应主数据集的关联键。
【技术特征摘要】
1.一种用归并算法计算一对一join、一对多join的方法,步骤如下:a.对在外存中的数据集A和B进行如下准备工作,同维数据集关系按照它们的主键排序,主子数据集关系主数据集A按照它的主键排序,子数据集B按关联主键的键排序或者全部和主键有关系的键排序(关联对应的键放到前边),把这些准备计算join的历史数据集全部保存好;(这是一次性准备工作,以后A和B再计算join时就不需要做这步准备了。)b.用归并算法计算一对一join同维数据集A和B时,数据集A和B只要各自遍历一次,然后就可以在合并数据集中引用记录了。计算一对多join主子数据集A和B的时候,原理和方法同上步骤2。就是把子数据集主键换成子数据集对应主数据集的关联键。2.如权利要求1所述的一种用归并算法计算一对一join、一对多join的方法,其特征在于,数据量非常大内存装不下的互相关联数据集A和B,特点是关联键是事先知道并且确定的(此...
【专利技术属性】
技术研发人员:蒋步星,
申请(专利权)人:北京润乾信息系统技术有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。