1.4 论文组织结构
本文基于云计算平台hadoop研究电商用户行为,论文主体分为六章,具体内容安排如下:
第一章,主要介绍本课题的研究背景,包括大数据时代的挑战和机遇,并根据现有的问题,提出基于hadoop研究用户行为的课题,介绍了大数据hadoop框架的基本架构,并介绍国内外企业和学者对于用户行为的研究现状,最后介绍了本文的主要工作与组织结构。
第二章,主要介绍了大数据云平台hadoop的分布式机制,并且详细介绍了HDFS、MapReduce、Flume、HBase、Hive、Sqoop、Oozie这些hadoop生态圈的框架,及其运行机制,为本文后面的架构设计和研究做铺垫。
第三章,对于高可用的集群进行设计和搭建,完成Centos6.6+Hadoop2.5.0+Hbase 0.98.6+Hive0.13.1+Sqoop1.4.5+Mysql5.6的集群设计。
第四章,提出基于MapReduce的分布式中文分词算法,并对分词后的数据进行深入的处理,设计Hive分区表结构,并将数据分析结果分别存放在Hive分区表中。
第五章,针对数据分析结果,设计分布式数据迁移框架,把分析结果从HDFS中导出到Mysql对应的结果表中。设计结果展示框架,基于Mysql+jdbc+http+Ajax开发web界面的结果展示图,全面展示分析结果。
第六章,总结和展望,主要是总结了本文的工作,同时对于后期进一步改进提出了展望。
2 大数据技术HADOOP的研究
上一章简要介绍了hadoop框架的总体结构,随着全球开发者人员的贡献,hadoop生态圈包含的内容也越来越丰富。其包含Flume,Hive,Sqoop,HBase,impala,pig,mahout, zookeeper,oozie等子框架。其中HDFS类似于Google的GFS分布式文件系统,但性能优于GFS文件系统,其根本就是一个文件存储系统。MapReduce类似于Google的Map-Reduce分布式计算模型。HBase非关系型数据库类似于Google的BigTable数据库。Flume是一个服务器数据采集或者数据迁移框架,负责把所需的数据传输到HDFS或者其他分布式文件系统中。Hive其实际是一个数据仓库,负责对建立于HDFS上的表进行数据分析和数据挖掘。Sqoop是一个通用型的数据迁移工具,通过设定传统型数据库的链接地址,账号密码,库名就能够实现HDFS和传统型数据库之间的数据传输。impala类似于Hive角色,是新一代的数据挖掘工具,其性能单节点情况优于Hive10倍,集群情况优于Hive100倍。mahout是基于MapReduce开发的机器学习框架,包含了基本的分类,聚类机器学习算法。zookeeper是负责hadoop所有节点的负载均衡[18]。Oozie负责分布式计算的任务调度,包括调度MapReduce、pig、Hive的调度。下面章节,将详细介绍各个子框架的结构和运行机制。
2.1 分布式存储HDFS
Hadoop FileSystem(HDFS)是基于谷歌GFS进行改进开发的框架,HDFS能够搭建于任何普通硬件上。HDFS跟其它的底层分布式存储系统相比拥有以下几个优点:
(1)HDFS是通过读取主节点元数据信息,通过元数据信息寻找到数据块所在的位置,从而再次去子节点位置读取文件内容,这样子能够达到更高效率的写入和读取效率。
(2)HDFS能够很好的将数据负载均衡分布在集群的各个机器中,因此理论上,无论多大的数据都能完整的存放。
(3)HDFS能够保证数据的可靠性,其主动备份3份或以上的数据,并且能够实时监测每一个节点的运行情况,当某一个子节点宕机后能够很快的察觉并进行数据迁移和从新备份。
(4)HDFS设计之初就是作为分布式存储,而MapReduce设计初衷也是作为分布式计算,所以HDFS和MapReduce能够很好的结合在一起,完成分布式存储和分布式计算的任务。 基于Hadoop的微博用户行为分析(3):http://www.751com.cn/jisuanji/lunwen_56282.html