论文部分内容阅读
最近几年,随着数据信息量的激增,大数据概念兴起。大数据的处理分析受到了国内外各个研究领域的广泛关注。由于谷歌的成功案例,使得MapReduce框架成为了目前研究和使用最广泛的大数据处理框架,其中Hadoop MapReduce作为谷歌MapReduce框架的开源社区版,成为了最热门的开源项目之一。MapReduce框架采用将大数据集分片并行处理的思想,并向用户屏蔽了并行程序的编程细节,以及程序并行处理时的协调机制和容错问题。作为信息分析处理的基本操作,连接操作一直是MapReduce框架下的研究热点,但由于MapReduce框架对连接操作的支持度不高,所以在连接操作中存在着很多问题。本文针对MapReduce框架下连接操作中产生的大量中间冗余数据和多表连接过程中多任务间协调问题,提出了Share-Coordinate-MapReduce框架。首先,本文通过分析多表连接中冗余数据产生的原因,提出了基于Bloom Filter共享信息框架Share-MapReduce,该框架通过顺次处理连接数据集,共享连接属性,从而实现对中间冗余的元组进行过滤,减少网络数据传输,降低I/0代价;对于多表连接过程中多任务协调问题,提出了Coordinate-MapReduce框架,该框架通过协调多个任务的启动,减少任务间的等待时间;并基于数据连接属性的分布比例,提出改进框架下多表连接的连接顺序优化机制,从而最大程度上发挥框架性能。其次,对于改进框架下总节点的任务增加问题,为了降低改进后单点失效的机率,提出基于虚拟化技术的部署策略,通过虚拟化管理框架对总节点的运行环境情况进行动态监控,并通过轮询策略对将要出现的问题进行提前处理。同时,为了确保改进后框架的性能,本文对改进框架进行了可靠性和扩展性的分析,并且针对提出的连接策略进行适用性分析,以方便用户更好的使用框架。最后,本文通过手动生成网络日志文件数据集,对框架的性能进行了测试,通过实验可以看出本文提出的改进框架对属性值稀疏大表的处理上具有很大的优势;通过对虚拟化管理框架的测试可以看出,该策略可以为总节点提供一个良好的运行环境。