论文部分内容阅读
数据挖掘技术成为近年来的研究热点。KNN Joins问题是数据挖掘中的典型问题,在数据挖掘中的知识发现、空间数据库和数据清洗等领域发挥作用。该问题包含近邻查询与Joins操作两个方面,这两个方面都是计算消耗型。当数据量增大,解决该问题的CPU消耗、I/O消耗等是巨大的。提高解决KNN Joins问题的算法性能是必要的。为了在面临大数据时数据挖掘问题仍然能够高效的解决,并行化是有效的方法。在并行计算中,Hadoop采用Map/Reduce编程模型进行计算。其中Map/Reduce编程模型作为一种简单、易扩展、高容错的并行编程模型,得到了广泛的应用。
本文利用该编程模型对算法进行并行化,解决大数据处理过程中的效率问题是普遍被采用的方法。采用Hadoop平台并使用Map/Reduce编程模型对KNN Joins问题算法进行并行化设计是可行而有效的。目前关于KNN Joins问题如何高效、准确的解决已有了相关的研究。其中包括单机算法,也包括采用Map/Reduce编程模型的并行算法,这些算法在效率、性能等方面都做了尝试和提高。本文选取了解决KNN Joins问题典型单机算法的Gorder算法,将之利用Map/Reduce编程模型并行化,分析并解决过程中的通信优化问题。通过大量的实验,证明本文设计的并行算法在效率方面、性能方面较已有算法都有一定的提升,并具有可扩展性。