论文部分内容阅读
云平台技术的快速发展使人们越来越关注大数据(Big data)。如果想要分析大型数据集就需要通过像Hadoop中的并行计算模型MapReduce那样的框架为成百、成千甚至上万台电脑分配工作,所以大数据分析通常会和云平台紧密的结合在一起。从技术上来讲,大数据与云计算的关系可以描述为一枚硬币的正反两面那样密不可分。很显然,大数据是无法用单台计算机来进行处理,而是必须要采用分布式计算架构。这个架构最大的特色就是能够对海量数据进行分析,但是只有依靠云计算技术中的分布式数据库技术、分布式处理技术、云存储技术以及虚拟化技术才能够实现这个架构。随着云计算技术的发展,开源云平台Hadoop显然已成世界上最重要的云计算技术之一,Hadoop中的并行计算模型MapReduce也应用在分布式计算中。此框架对海量数据进行分割然后分配到多个节点上,接着对每一个节点进行并行计算,将得出的结果归并后进行输出。下一阶段计算的输入就是上一阶段计算的输出,因此可以想象到一个与树状结构类似的分布式计算结构,在每一个不同阶段都会产出不同的结果,同时在分布式集群的资源下并行和串行进行结合的计算也可以很好地得以高效的处理。对ARGO海洋环境观测数据进行分析,有利于保护海洋环境和预防海洋气候灾害,与此同时ARGO海洋环境观测数据也属于典型的大数据,但ARGO数据分析软件很少。所以本文针对ARGO海洋环境观测数据数据量大、离散分布等特点,为了能够高效的研究ARGO海洋环境观测数据,我们需要将ARGO海洋环境观测数据的分布与其它空间现象分布模式进行比较,也就是说我们需要将离散分布的ARGO海洋环境观测数据转换成为连续的数据曲面,因此本文主要工作是研究基于Hadoop平台来对ARGO海洋环境观测数据进行插值与检索。由于采用不同的方法进行插值会产生不同的计算效率,本文主要实现了两种插值方法:一种方法是通过分布式计算模型MapReduce的Map过程对ARGO海洋环境观测数据区域分块,在Reduce过程中,计算每个ARGO数据点的近邻点,然后分别对每一块的ARGO海洋环境观测数据分别进行插值计算,从而得出插值后连续的数据曲面。由于采用这种方法会对一个ARGO海洋环境观测数据区域中的所有点进行检索,就需要遍历整个ARGO海洋环境观测数据区域中的所有点,但是对于像ARGO海洋环境观测数据这种大量记录,很显然这种方法检索效率很低,因此提出了第二种方法:在第一种方法的基础之上进行改进,通过KD树近邻算法找到每个块的每个数据的近邻点来建立索引表,然后直接根据索引表来计算插值,这种方法减少了搜索点的数量,进而提高了插值的效率。本文在实验环境下采集了大量ARGO海洋环境观测数据来比较直接插值计算与KD树索引插值计算两种算法的计算效率,实验结果也表明了KD树索引插值计算算法的计算效率要远高于直接插值计算算法的效率。该方法同时也在ARGO海洋观测数据分析方面取得了良好的效果。