论文部分内容阅读
现在社会已经处于并将长期处于大数据时代,海量数据具有4个V的特点,即数量大(Volume),多样性(Variety),需要处理的速度快(Velocity)和真实性(Veracity)。虽然目前的数据量很大,但是往往携带者一些冗余信息,人们关注的其实是它们真实携带的有效数据特征。如果将数据看成大矩阵,则此矩阵在大部分情况下是稀疏的,可以将其映射到更低维的空间,这个低维的空间我们称之为数据特征空间,将原始数据投影到该空间后可以得到特征核数据,而且特征核数据往往携带着原始数据的主要信息。给出了信息损失率小于的-特征核数据和-特征空间的定义后,我们的目的是寻求最优特征核数据和最优特征空间。为此,本文根据高维度大数据的特点,利用Hadoop分布式计算框架提出了挖掘数据主成分的一些方法,同时针对Hadoop使用过程中出现的缺点提出了一些技术,可以有效地降低内存使用率,提高文件访问效率。本文先交代预备知识和数学定义,为后面具体算法的实现提供了理论支持和衡量标准。然后针对分布式应用环境提供了适应Hadoop的新型向量数据结构,并在此基础上定义了不同节点之间数据发送端和接收端的工作流程和数据格式。其次数据预处理模块将输入信息处理成系统能识别的形式,继而获取三对角阵并用QR算法将三对角阵特征分解以获得特征信息。最后将特征向量稍加变换得到新的投影空间,将原始数据投影到新的投影空间即可得到核数据集。本文在实现的过程中经常会对向量进行处理,虽然向量的维度很大,但将矩阵按行分割后每一块向量仅仅占用KB数量级的空间,Hadoop分布式文件系统为存储在其中的每一份文件分配固定数据块(block)的大小,这在实现的过程中会出现Name Node内存占用过高和文件访问效率过低的现象。针对Hadoop不善于处理海量小文件的问题,我们提出了一种优化HDFS的技术,基本思想是将小文件合并成适应一个块的大文件然后建立索引。更进一步地,基于名字的索引可以有效提高文件访问效率。实验结果表明,本文提出的策略可以有效地挖掘原始数据的核数据集。