【技术实现步骤摘要】
基于Spark平台的分布式大数据函数依赖发现方法
本专利技术属于函数依赖发现
,特别是设计一种基于Spark平台的分布式大数据函数依赖发现方法。
技术介绍
本专利技术涉及的相关技术介绍如下:(1)函数依赖发现算法函数依赖表示一个属性或属性集合的值对另一个属性或属性集合的值的依赖性。在传统关系数据库中,函数依赖发现在知识发现、数据库语义分析、数据质量评估以及数据库设计等领域有着广泛的应用。当前大数据背景下,数据呈现出4V特性,即数据量大(volumn)、数据种类多(variety)、数据更新速度快(velocity)、数据价值密度低(value)等特点。在此背景下,传统的函数依赖发现算法很难适合大数据环境。[文献1]阐述了一种经典的函数依赖发现算法TANE。TANE根据元组的属性值将元组划分成不同的集合,然后在不同的划分上对候选函数依赖进行检测。通过逐层发现的方法,在每一层对候选函数依赖进行验证,生成符合条件的函数依赖,然后根据发现的结果生成下一层的候选函数依赖。[文献2]同样利用逐层发现的思想生成满足要求的函数依赖,然后利用迭代的思想产生下一层候选函数依赖, ...
【技术保护点】
1.一种基于Spark平台的分布式大数据函数依赖发现方法,其特征在于,包括以下步骤:步骤1,数据分区,包括根据Spark集群各节点分配的CPU内核数对数据进行分区;步骤2,生成属性集合的所有非空子集,包括通过数据库中的所有属性集合,生成含有所有非空子集的集合,为求解所有属性集合的等价类个数作准备;步骤3,累加各节点属性集合的等价类数量,通过等价类计算得到全局数据库的(属性集合,等价类数)集合;步骤4,迭代包含各集合属性的函数依赖关系,构建下一层候选函数依赖关系,判断各层函数依赖关系是否成立。
【技术特征摘要】
1.一种基于Spark平台的分布式大数据函数依赖发现方法,其特征在于,包括以下步骤:步骤1,数据分区,包括根据Spark集群各节点分配的CPU内核数对数据进行分区;步骤2,生成属性集合的所有非空子集,包括通过数据库中的所有属性集合,生成含有所有非空子集的集合,为求解所有属性集合的等价类个数作准备;步骤3,累加各节点属性集合的等价类数量,通过等价类计算得到全局数据库的(属性集合,等价类数)集合;步骤4,迭代包含各集合属性的函数依赖关系,构建下一层候选函数依赖关系,判断各层函数依赖关系是否成立。2.根据权利要求1所述的基于Spark平台的分布式大数据函数依赖发现方法,其特征在于:步骤1包括以下子步骤,步骤1.1,设置Spark集群节点,设置HDFS默认的Block大小调整分区数;步骤1.2,按照Spark集群的节点将整个数据集进行分区,并装载到Spark运行环境当中。3.根据权利要求1所述的基于Spark平台的分布式大数据函数依赖发现方法,其特征在于:步骤2的实现过程如下,按照所有属性的自由排列组合方式,计算出所有的非空子集属性,对于有n个属性的数据集来说,所有的非空子集数量为2n-1。4.根据权利要求1所述的基于Spark平台的分布式大数据函数依赖发现方法,其特征在于:步骤3的实现包括以下子步骤,步骤3.1,对于步骤2计算出的非空子集,逐条扫描每条数据,当发现新的数据时在哈希表中新建key值,value值标为1;步骤3.2,在逐行扫描数据时,如果遇到哈希表中已有的值,则将value值加1,直至扫描完毕,得到该非空子集的等价类;步骤3.3,依次迭代所有非空子集,得到该节点所有非空自...
【专利技术属性】
技术研发人员:张海粟,王龙,左青云,李韬伟,张胜,吴照林,刘鹏飞,朱明东,戴剑伟,徐飞,刘培磊,文峰,刘一博,张岩,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。