System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于Spark的表关系探测方法及系统、介质技术方案_技高网

一种基于Spark的表关系探测方法及系统、介质技术方案

技术编号:40421299 阅读:4 留言:0更新日期:2024-02-20 22:40
本发明专利技术涉及数据处理技术领域,具体而言,涉及一种基于Spark的表关系探测方法及系统、设备、介质,主要包括了将数据集分为多个数据分区,每个数据分区在Spark集群中的不同计算节点上进行处理;通过哈希计算将主键和外键转化为哈希值,通过哈希值创建分布式哈希表,所述哈希表包括主键和外键的哈希索引,利用哈希索引,在每个数据分区中执行主键和外键的比较操作,确定记录主键和外键之间的关联。通过本发明专利技术的提供的方法,由于使用了Spark引擎,本方案在处理大规模数据时具有高度可扩展性,能够应对不断增长的数据需求,采用主外键比较,本方案确保了准确的主外键匹配,从而降低了误差率。这有助于数据的准确性和一致性。

【技术实现步骤摘要】

本专利技术涉及数据处理,具体而言,涉及一种基于spark的表关系探测方法及系统、设备、介质。


技术介绍

1、在数据库中,主键和外键是两个重要的概念。

2、主键是用于唯一标识数据库表中每一行数据的字段或一组字段。它具有唯一性和非空性的特点,确保表中每一行都能被唯一地标识。主键有助于提高查询效率,并且在表之间建立关系时扮演重要的角色。

3、外键是用于表与表之间建立关联关系的字段或一组字段。它指向其他表的主键,在建立外键关系时,确保参考表的外键值必须存在于被参考表的主键中。外键用于维护表之间的关系,保证数据的一致性和完整性。

4、主键和外键的探测通常指的是在数据库中查找或分析主键和外键的定义或使用。此过程可能涉及到查询数据库表的结构信息、查找约束、分析数据表之间的关系等

5、目前的已经存在各种主外键探测算法,但这些算法可能不足以在大规模数据上实现高性能,传统数据库管理系统和某些分布式计算框架在处理大规模数据时性能有限,主外键探测可能需要很长时间。


技术实现思路

1、本专利技术的目的是提供一种基于spark的表关系探测方法及系统、设备、介质,来解决现有技术中的上述问题。

2、本专利技术的实施例通过以下技术方案实现:

3、第一方面,本专利技术提供了一种基于spark的表关系探测方法,包括;

4、获取数据组,对数据进行清洗,得到数据集,准备进行主键和外键探测;

5、将数据集分为多个数据分区,每个数据分区在spark集群中的不同计算节点上进行处理;

6、通过哈希计算将主键和外键转化为哈希值,通过哈希值创建分布式哈希表,所述哈希表包括主键和外键的哈希索引;

7、利用哈希索引,在每个数据分区中执行主键和外键的比较操作,确定记录主键和外键之间的关联;

8、将每个数据分区的比较结果合并为主键和外键探测的结果,并保存至数据存储中,等待输出。

9、在本专利技术的一实施例中,所述对数据进行清洗包括进行去重,去重后进行排序;

10、所述去重包括,创建临时缓冲区、临时列表和读取列表,将数据输入临时缓冲区;

11、设置临时列表的存储阈值,从数据组的第一个数据将缓冲区文件读入临时列表,直至临时列表无剩余储存空间,将临时列表中的数据写入到读取列表中,并清空临时列表;

12、将读取列表中的数据进行分块得到数据块,计算指纹值,判断是否有重复的指纹值,若有重复的指纹值,则保留其中一个指纹值所对应的数据,其余重复的指纹值所对应的数据去除。

13、在本专利技术的一实施例中,所述计算指纹值包括;

14、通过simhash算法以数据的大小为特征值,以数据的大小出现的频率为权重,各关键词的权重集合作为一个特征向量,采用md5算法产生一个m位的签名,再对特征向量加权,对于最终向量的每一位如果大于0则为1,否则为0,得到最终的simhash的指纹值。

15、在本专利技术的一实施例中,所述判断是否有重复的指纹值包括;

16、对指纹值进行运算:

17、

18、式中,p为选取的数据的指纹值,pi为读取列表中数据的指纹值;

19、若p与pi的运算结果为0,则说明两数相等,p与pi出现重复。

20、在本专利技术的一实施例中,所述排序包括;

21、选择数据组中的第一个基准数据;

22、将数据组分为两部分,一部分是小于基准数据的数据,一部分是大于基准数据的数据;

23、递归地对小于基准数据和大于基准数据的子数组进行快速排序;

24、将小于基准数据的子数组、基准数据、大于基准数据的子数组合并。

25、在本专利技术的一实施例中,所述通过哈希计算将主键和外键转化为哈希值包括;

26、创建一个md5哈希对象;

27、将主键和外键转换为字节串,并更新哈希对象,获取哈希值。

28、在本专利技术的一实施例中,所述等待输出包括;

29、对所有的数据块进行哈希运算得到其哈希值,将哈希值作为叶子节点构造哈希树,得到第一校验值;

30、当需要下载主键和外键对比结果时,用户端发送下载请求;

31、通过下载请求获取用户端权限密钥,验证用户的权限;

32、当权限验证通过,得到用户端所要下载的数据块,并对数据集进行校验;

33、将获得的数据集进行哈希运算得到其哈希值,将哈希值作为叶子节点构造哈希树,得到第二校验值,对比第一校验值和第二校验值,若相同则说明数据块为发生破损或者改变,进行正常传输,若不相同,则停止传输,进行报错。

34、第二方面,本专利技术提供了一种基于spark的表关系探测系统,包括;

35、预处理模块,被配置为获取数据组,对数据进行清洗,得到数据集,准备进行主键和外键探测;

36、spark模块,被配置为将数据集分为多个数据分区,每个数据分区在spark集群中的不同计算节点上进行处理;

37、计算模块,被配置为通过哈希计算将主键和外键转化为哈希值,通过哈希值创建分布式哈希表,所述哈希表包括主键和外键的哈希索引;

38、索引模块,被配置为利用哈希索引,在每个数据分区中执行主键和外键的比较操作,确定记录主键和外键之间的关联;

39、储存模块,被配置为将每个数据分区的比较结果合并为主键和外键探测的结果,并保存至数据存储中,等待输出。

40、第三方面,本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述的一种基于spark的表关系探测方法。

41、本专利技术实施例的技术方案至少具有如下优点和有益效果:

42、采用本专利技术所提供的上述方法,主要包括了将数据集分为多个数据分区,每个数据分区在spark集群中的不同计算节点上进行处理;通过哈希计算将主键和外键转化为哈希值,通过哈希值创建分布式哈希表,所述哈希表包括主键和外键的哈希索引,利用哈希索引,在每个数据分区中执行主键和外键的比较操作,确定记录主键和外键之间的关联。通过本专利技术的提供的方法,由于使用了spark引擎,本方案在处理大规模数据时具有高度可扩展性,能够应对不断增长的数据需求,采用主外键比较,本方案确保了准确的主外键匹配,从而降低了误差率。这有助于数据的准确性和一致性。

本文档来自技高网...

【技术保护点】

1.一种基于Spark的表关系探测方法,其特征在于,包括;

2.根据权利要求1所述的一种基于Spark的表关系探测方法,其特征在于,所述对数据进行清洗包括进行去重,去重后进行排序;

3.根据权利要求2所述的一种基于Spark的表关系探测方法,其特征在于,所述计算指纹值包括;

4.根据权利要求3所述的一种基于Spark的表关系探测方法,其特征在于,所述判断是否有重复的指纹值包括;

5.根据权利要求4所述的一种基于Spark的表关系探测方法,其特征在于,所述排序包括;

6.根据权利要求1所述的一种基于Spark的表关系探测方法,其特征在于,所述通过哈希计算将主键和外键转化为哈希值包括;

7.根据权利要求4所述的一种基于Spark的表关系探测方法,其特征在于,所述等待输出包括;

8.一种基于Spark的表关系探测系统,其特征在于,包括;

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的一种基于Spark的表关系探测方法。

...

【技术特征摘要】

1.一种基于spark的表关系探测方法,其特征在于,包括;

2.根据权利要求1所述的一种基于spark的表关系探测方法,其特征在于,所述对数据进行清洗包括进行去重,去重后进行排序;

3.根据权利要求2所述的一种基于spark的表关系探测方法,其特征在于,所述计算指纹值包括;

4.根据权利要求3所述的一种基于spark的表关系探测方法,其特征在于,所述判断是否有重复的指纹值包括;

5.根据权利要求4所述的一种基于spark的表关系探测方法,其特征在于,所述排...

【专利技术属性】
技术研发人员:庞攀刘俊良顾美营杨海荣
申请(专利权)人:成都四方伟业软件股份有限公司
类型:发明
国别省市:

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

1