基于Hive分布式K_means算法设计与研究.docVIP

基于Hive分布式K_means算法设计与研究.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Hive分布式K_means算法设计与研究

基于Hive分布式K_means算法设计与研究   摘 要:针对大数据的处理效率问题,论文主要应用Hadoop技术,探讨了分布式技术应用于大数据挖掘的编程模式。论文以k_means算法作为研究对象,采用Hadoop的一个数据仓库工具——HIVE来实现该算法的并行化,并在结构化的UCI数据集上进行了实验,实验结果表明该方法具有优良的加速比和运行效率,适用于结构化海量数据的分析。   关键词:大数据;Hadoop;分布式;k-means   中图分类号:TP393.02   “大数据”时代已经降临,在商业、经济及其他领域中,决策将日益基于数据和分析而作出,而并非基于经验和直觉[1]。随着互联网和信息行业的发展,在日常运营中生成、累积的用户网络行为数据的规模是非常庞大的,以至于不能用G或T来衡量。我们希望从这些结构化或半结构化的数据中学习到有趣的知识,但这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱。因此,并行化数据挖掘成为了当下的一个热门研究课题,其主要编程模式包括:数据并行模式,消息传递模式,共享内存模式以及后两种模式同时使用的混合模式[2][3]。   1 国内研究现状   当前中国的云计算的发展正进入成长期,国内很多研究者正进入分布式的数据挖掘领域,利用国外的成熟平台,例如Hadoop来实现大数据的聚类等算法。但是数据的多样性,文本多格式,造成对数据的操作有很大的难度,而如今大多数论文都利用了标准化的mapreduce方法来进行代码的编写,具有一定的通用性,但是Hadoop下还有许多的工具,能够简化m/r过程,同样对一定结构的数据具有很好的并行效果,但是这方面的研究比较少,因此本文引入了HIVE的运用,简化了数据的操作过程,利用类似标准的SQL语句对数据集进行运算,在一定程度上提高了并行化计算的效率。   2 Hadoop并行化基础   数据挖掘(Data Mining)是对海量数据进行分析和总结,得到有用信息的知识发现的过程[4]。其中的聚类是一个重要的研究课题,在面对如此的海量数据,现有的单机模式的挖掘算法在时间与空间上遇到了很大的限制,而并行化处理是一种比较好的解决模式。Hadoop是当下比较热门的一个分布式计算的平台,其中的一个数据仓库工具HIVE简单快捷地实现MapReduce方法,适用于结构化数据的存储模式。   Hadoop是一个分布式系统的基础架构,其平台由两部分组成,Hadoop分布式文件存储系统(HDFS)和MapReduce计算模型[5]。   HDFS的架构是基于一组特定的节点构建的(参见图1),这是由它自身的特点决定的。这些节点包括NameNode(仅一个),它在HDFS内部提供元数据服务;DataNode,它为HDFS提供存储块。由于仅存在一个NameNode,因此这是HDFS的一个缺点(单点失败)。存储在HDFS中的文件被分成块,然后将这些块复制到多个计算机中(DataNode)。这与传统的RAID架构大不相同。块的大小(通常为64MB)和复制的块数量在创建文件时由客户机决定。NameNode可以控制所有文件操作。HDFS内部的所有通信都基于标准的TCP/IP协议。   MapReduce是一种高效的分布式编程模型,用于海量数据(大于1TB)的并行运算[6],它的主要思想就是映射(Map)和化简(Reduce)。一个任务(Job)需要实现基本的MapReduce过程主要包括三个部分:(1)输入数据;(2)实现Map函数与Reduce函数;(3)实现此任务的配置项(JobConf)[7],图1描述了实现MapReduce的基本原理:   图1 MapReduce原理图   3 基于HIVE的并行k-means聚类算法设计   3.1 Hive简介   Hive是基于Hadoop的一个数据仓库工具,是建立在Hadoop上的数据仓库基础构架,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。   3.2 Hive体系结构   图2 HIVE体系结构图   图2显示了HIVE的主要组件以及它和Hadoop的相互作用[8],其主要组件说明如下:   外部接口,Hive同时提供了用户界面的命令行(CLI)和Web UI,以及应用程序编程接口(API),如JDBC和ODBC。   Hive Thrift服务器公开了一个简单的客户端API来执行HiveQL语句。Thrift[9]是一个用于跨语言服务的框架,框架内用一种语言(如Java)编写,服务器也可以支

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档