作者简介: 黄斌 ( 1986- ,男,浙江杭州人,硕士研究生,研究方向为大规模数据计算、基于云平台的商业智能等; 许舒人 ( 1961- ,男, )福建漳州人,副研究员,研究方向为软件工程研究和大型应用系统规划、设计; 蒲卫 ( 1964- ,男,吉林吉林人,高级工程师,研究方向为卫生信息化。
E-mail: huangbin09 otcaix. iscas. ac. cn 496 计算机工程与设计 2013 年 ( 2) 敏捷性: 系统能够适应数据递增且更新频繁的应 了 Hadoop 的运用场景与应用领域。
如图 1 展示了 Hadoop用场景;
软件栈 ( Hadoop software stack) ,以 Hadoop 为核心,出现 ( 3) 分析深度: 提供对数据分析多角度、多切面的分 了在数据存储、处理、访问、管理、数据连接等几个层次析,可便捷得加入复杂的概率统计和机器学习算法,适应 的软件。
它们提升了 Hadoop 的易用性、可维护性以及对多多类型数据分析需求。
种编程语言的支持能力。
迫于数据量的急剧增长,大量的数据存储在数据库与数据仓库中,关系型数据库通常提供进行数据分析与挖掘 〔2〕的数据 分 析 工 具,例 如,SAP BusinessObjects Explorer 、Matlab Spider〔3〕 、SQL Server Analysis Services〔4〕 、weka〔5〕 等都提供了此类工具。
然而,以关系型数据库为基础的数据挖掘系统存在以下几个弊端: ( 1) 在庞大数据量背景下,数据迁移所带来的时间损失巨大,在此种情况下,把计算力移向数据是比数据迁移到计算系统更有效率的方法; ( 2) 大多数数据库分析系统需要将所有的数据放入内 图1 Hadoop Software Stack存中,对于占多数的大数据集,一般只能通过抽样的方式 〔8〕 〔9〕使得数据量缩小到内存可接受的范围内,数据的抽样通常 其中,Hbase 是一个以 BigTable 为原型的高性能、 〔10〕会导致数据信息量丢失; 面向列、强一致性存储系统; Hive 是一个基于 Hadoop 实 ( 3) 在处理速度上,不断增加的数据很容易造成数据 现的数据仓库工具; Pig 使用户可以通过 Pig-latin 语言定义库索引的不断增加,索引增加的滞后性容易导致数据库的 运行于 Hadoop 上的数据流程; Avro 是一个面向 Hadoop 的 〔11〕处理速度降低。
数据序 列 化 系 统; Sqoop 是一个用于关系型数据库与 数据库系统在数据处理效率和可处理的数据量无法满 HDFS 之间数据迁移的工具; Zookeeper 用于分布式应用中足当前数据的爆炸式增长,效率与容量成为以数据库为基 的集群管理、状态同步服务、同步锁服务; Chukwa 是一个础的数据挖掘系统的最大瓶颈。
用于进行集群运行日志收集、分析和展示的管理工具。
基于模型驱动的开发方法与组件开发技术,本文提出 以上软件与工具在一定程度上提升了 Hadoop 的易用性一种可扩展数据挖掘平台,运用 MapReduce 框架的扩展性 和数据分析的能力,然而 Hadoop 对数据分析、数据挖掘算与并行能力,定义可重用的 数 据 挖 掘 组 件 和 Connector 组 法以及可视化支持的缺乏使用户在运用 Hadoop 进行数据挖件,提高了数据挖掘过程敏捷性。
系统主要解决以下 3 个 掘过程中暴露出效率低下、重复开发等问题。
目前还没有方面的问题: 基于 MapReduce 实现的面向数据密集型的可视化数据挖掘 ( 1) 定义数据挖掘过程中的挖掘组件模型,用户可复 框架。
用户在使用 Hadoop 提供的任务提交机制进行数据挖用系统提供的数据挖掘组件来快速定义数据挖掘过程; 掘操作时,往往需要根据需求去设计特定的 Hadoop 任务代 ( 2) 通过 GMF 技术实现对数据挖掘过程的可视化定 码。
例如,对于一个 SNS 网站,若需要对 20 - 30 岁的用户义,并通过 代 码 生 成 引 擎 实 现 挖 掘 过 程 到 可 执 行 代 码 的 花费在社交网络上的时间进行统计,开发人员需要针对特转换; 定的需求编写 MapReduce 代码 ( 包括条件过滤、数据统计 ( 3) 定义 Connector 可重用组件,实现对多种数据存储 和数据展示等几个任务) ,然后交给 Hadoop 去进行计算。
系统的数据访问。
该开发过程花费时间长,大部分时间都花费在重复开发上。
1 研究背景 2 基于 MapReduce 的数据挖掘平台 Google 提出的分布式文件系统 GFS〔6