论文部分内容阅读
随着IT技术的发展,信息数据充满着现代生活的每一个角落,大数据时代的来临更使得这些数据更为耀眼。人们疯狂地从数据中汲取营养的同时,数据质量问题也逐渐暴露出来,例如数据冗余、数据不一致、错误数据、缺失数据等。因此数据质量在大数据时代显得尤为重要,海量信息的数据清洗与容错管理系统应运而生。现有的对海量数据处理的信息系统一般都运行在时下最流行的开源框架Hadoop上,但是由于各种各样的原因,往往效率低下。数据质量问题会对大数据的应用产生致命影响,因此需要对存在数据质量问题的大数据进行清洗。MapReduce编程框架可以利用并行技术实现高可扩展性的大数据清洗,然而,由于缺乏有效的设计,在基于MapReduce的数据清洗过程中存在计算的冗余,导致性能的降低。因此本文的目的是对并行数据清洗过程进行优化从而提高效率。本文做出了如下工作。首先,通过研究我们发现数据清洗中一些任务往往都运行在同一输入文件上或者利用同样的运算结果,基于该发现本文提出了一种新的优化技术——基于任务合并的优化技术。针对冗余计算和利用同一输入文件的简单计算进行合并,通过这种合并可以减少MapReduce的轮数从而减少系统运行的时间,最终达到系统优化的目标。第二,本文提出的FLI三层体系让我们从一个系统优化的视角去分析软件系统,和基于任务合并的优化技术一道,建立了一整套从系统分析到具体实施的数据清洗优化理论。第三,本文针对数据清洗过程中多个复杂的模块进行了优化,具体来说分别对实体识别模块、不一致数据修复模块和缺失值填充模块进行了优化。实验结果表明,本文提出的策略可以有效提高数据清洗的效率。