【技术实现步骤摘要】
数据处理方法和装置以及数据表处理方法和装置
本专利技术涉及计算机技术,尤其涉及一种数据处理方法和装置以及数据表处理方法和装置。
技术介绍
在实际应用中,尤其是在进行数据表连接操作之前,经常需要统计不重复出现的对象或者事件个数,即独立元素数目也称唯一值数,从而预测数据表的规模。对于较小的数据量,可以首先在内存中对序列进行排序,然后扫描有序序列统计独立元素数目。但是在处理数据流序列时,由于序列非常长,元素取值范围可能比较广,单个元素占用内存可能比较多,导致内存中无法容纳整个序列。针对这种情况,可以采用Flajolet-Martin(简称FM)算法,FM算法是一种能够较好地解决估算唯一值数的算法。该算法中采用哈希函数集进行运算,基于哈希函数集中各哈希函数的哈希值估算唯一值数。但现有技术在应用FM算法计算数据表中某一列的唯一值数的过程中,针对不同规模的数据集,采用相同的哈希函数集,导致当数据集的规模较大时,往往唯一值数计算过程执行效率低,执行时间过长;当数据集的规模较小时,唯一值数的准确度又较低。
技术实现思路
本专利技术提供一种数据处理方法和装置以及数据表处理方法和装置,用 ...
【技术保护点】
一种数据处理方法,其特征在于,包括:对数据集的数据个数进行统计;根据统计所获得的数据个数,确定哈希函数集的函数个数;基于FM算法,采用符合所述函数个数的哈希函数集对所述数据集进行唯一值数计算。
【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:对数据集的数据个数进行统计;根据统计所获得的数据个数,确定哈希函数集的函数个数;基于FM算法,采用符合所述函数个数的哈希函数集对所述数据集进行唯一值数计算。2.根据权利要求1所述的数据处理方法,其特征在于,所述对数据集的数据个数进行统计,包括:统计所述数据集所包含的全部数据个数。3.根据权利要求1所述的数据处理方法,其特征在于,所述对数据集的数据个数进行统计,包括:逐条读取所述数据集中的数据,统计所述数据集中已读取的数据个数。4.根据权利要求3所述的数据处理方法,其特征在于,所述根据统计所获得的数据个数,确定哈希函数集的函数个数包括:随所统计的已读取的数据个数增长,逐步减少哈希函数集的函数个数。5.根据权利要求4所述的数据处理方法,其特征在于,所述基于FM算法,采用符合所述函数个数的哈希函数集对所述数据集进行唯一值数计算之前,包括:对所述哈希函数集中的哈希函数进行舍弃,保留的哈希函数个数为所确定出的函数个数。6.根据权利要求5所述的数据处理方法,其特征在于,所述基于FM算法,采用符合所述函数个数的哈希函数集对所述数据集进行唯一值数计算,包括:采用所述哈希函数集中所保留的哈希函数对所读取的数据计算哈希值;当读取所述数据集中的全部数据时,基于FM算法,采用所述哈希函数集中所保留的哈希函数的哈希值计算唯一值数。7.一种数据处理装置,其特征在于,包括:统计模块,用于对数据集的数据个数进行统计;确定模块,用于根据统计所获得的数据个数,确定哈希函数集的函数个数;计算模块,用于基于FM算法,采用符合所述函数个数的哈希函数集对所述数据集进行唯一值数计算。8.根据权利要求7所述的数据处理装置,其特征在于,所述统计模块,具体用于统计所述数据集所包含的全部数据个数。9.根据权利要求7所述的数据处理装置,其特征在于,所述统计模块,具体用于逐条读取所述数据集中的数据,统计所述数据集中已读取的数据个数。10.根据权利要求9所述的数据处理装置,其特征在于,所述确定模块,具体用于随所统计的已读取的数据个数增长,逐步减少哈希函数集的函数个数。11.根据权利要求10所述的数据处理装置,其特征在于,所述装置包括:生成模块,用于对所述哈希函数集中的哈希函数进行舍弃,保留的哈希函数个数为所确定出的函数个数。12.根据权利要求11所述的数据处理装置,其特征在于,所述计算模块,包括:哈希值单元,用于采用所述哈希函数集中所保留的哈希函数对所读取的数据计算哈希值;唯一值数单元,用于当读取所述数据集中的全部数据时,基于FM算法,采用所述哈希函数...
【专利技术属性】
技术研发人员:孙伟光,徐冬,连杰红,汪龙重,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。