论文部分内容阅读
基于MapReduce的并行数据挖掘系统可以极大地提高数据挖掘的效率,使数据挖掘系统拥有强运算能力与海量存储能力,并且系统具有良好的计算与存储横向扩展性。与数据挖掘紧密关联的SQL语言也可以在MapReduce上执行,而伴随MapReduce框架的并行存储机制使数据挖掘系统本身有了数据仓库的概念。如果把SQL嵌入到并行数据挖掘系统中,由于SQL的后台并行执行方式,可以提高SQL的执行效率,达到增强并行数据挖掘系统的功能,再将SQL用界面流程表示,可以方便地发现逻辑问题,提高并行数据挖掘系统的应用性。
本文针对并行数据挖掘系统中SQL流程化的应用展开了研究工作。主要内容包括:
1.实现基于Hadoop的SQL关键字算法。SQL语言关键字包含了select,join,where,group by,order by,delete,update,insert。实现这些
关键字的并行化算法,为并行地执行SQL奠定了基础。
2.设计一个适用于SQL流程化的数据挖掘系统框架,并设计实现数据流程解析执行的功能。这个功能是为了解析一个流程描述的xml文件,生成一个有向无环图的对象,然后根据拓扑排序执行图中的每个节点,每个节点实际上是一个基于MapReduce的并行算法。
3.实现SQL的解析功能,将SQL解析成内容2中的流程描述xml文件。该步骤的实现是基于开源软件Hive中SQL解析代码的二次开发。
4.SQL语言界面流程化的实现。根据流程描述xml文件,在界面上显示对应SQL执行的数据流程,利用数据挖掘系统的功能将流程的执行进度进行动态地展示。
最后,本文将展示此数据挖掘系统中典型SQL语句的执行过程,并对执行过程与Hive中SQL的处理方式进行对比,借此指出今后工作方向。