对于海量高维数据在MapReduce上处理的一个瓶颈就是计算代价太高,以K-means为例,由于海量数据处理时往往需要将数据分为很多类,这样导致了K值过大。
1、MapReduce研究现状
MapReduce近年来已经成为最火热的并行编程模型之一,作为云计算技术与并行计算技术的研究热点,国内外对其研究文献越来越多,其主要研究成果有如下几个方面:
(1)模型改进:对于MapReduce存在的不足,目前主流研究成果有Oivos、Barrier-less、MapReduceMerge等,但上述模型均针对MapReduce的部分不足,研究成果比较片面,因此没有得到广泛应用。
(2)模型的多平台实现:典型的平台实现包括Hadoop、Mars、Phoenix、Misco等。
(3)对于运行时支持库,主要研究包括任务调度策略、一致性管理、容错等方面。常用任务窃取作为调度策略,对于其改进的成果主要包括:LATE调度策略、延迟调度策略等。一致性管理研究目前来说相对较少。
(4)节能与性能优化:虽然目前来说对于节能方面的研究较少,但是近年来功耗问题已经得到了普遍重视,如果模型没有考虑功耗方面的桎梏,将对其推广造成重大影响。对于模型的性能优化,目前主流的成果包括硬件加速器、集合规划等。运行时支持库结合模型性能优化将成为MapReduce研究热点。
(5)实际应用:国内MapReduce相关研究成果集中于实际应用,如应用MapReduce于数据挖掘、图像处理等领域。还有少数研究成果涉及到模型针对多平台的实现、任务调度优化等方面。
2、 基于MapReduce高维数据聚类研究现状
对于海量高维数据在MapReduce上处理的一个瓶颈就是计算代价太高,以K-means为例,由于海量数据处理时往往需要将数据分为很多类,这样导致了K值过大。而K-means又是迭代优化的算法,每次迭代都要将数据与K个中心点相比较,造成巨额计算开销。解决这样的问题一般从3个方面入手:
(1)通过抽样缩小数据集本身。
(2)通过选取高质量初始聚类中心减少迭代次数。
(3)应用映射函数降低数据维度。
(4)选择一个点代表一簇点的集合批量处理。
而由于MapReduce暂时不支持分布式索引,所以第三种方法无法有效地实现。K-means++算法由D.Arthur和S.Vassilvit-skii提出,该方法选取了高质量的初始聚类中心从而降低迭代次数。局部敏感哈希算法通过哈希函数将高维数据映射到低维空间,使得原向量空间中相似度高的元素在新的向量空间中相似的几率比较大,通过降维减少了数据运算量。