(4)预测网站跳转:应用马尔科夫模型,对于用户的网站浏览行为进行下一步预测,从而对网站的优化建设提供更有力的证据。
2 大数据处理的工具和技术
在目前大数据时代中,关于数据处理的理念主要三个主要的转变:用全体取代抽样;以高效率取代高精确;要相关不要因果。而处理在1.2研究现状中列举的关于大数据处理的几种工具和项目方案中,Hadoop具有高可靠性、高扩展性、高效性以及高容错性等优点,同时Hadoop上的应用程序还支持多种语言。因此,Hadoop目前被广泛采用。而在本文中,我们也是着重Hadoop进行解析。
2.1 Hadoop介绍
2.1.1 Hadoop是什么
Hadoop的由来需要追溯到2003年Google发表的第一篇关于云计算核心技术GFS的论文,以及2004年,Google发表的关于另一项核心技术Map/Reduce的论文。Hadoop这一项目的来源名称来源于创立者Doug Cutting儿子的一个玩具,一头黄色的大象,就并没有什么实际的含义。这一简短易读的命名特点影响了Hadoop后续子项目的命名,例如Pig、Hive等。Hadoop的目标就是建立一个能够对大量数据进行可靠的分布式处理的可扩展开源软件框架,它的核心由HDFS和Map/Reduce组成,它通过HDFS,使得面向的应用环境是大量低成本计算机构成的分布式运算环境,同时,Hadoop依靠Map/Reduce实现以并行的方式工作,通过并行处理加快处理速度。除了其核心组成,Hadoop的强大也离不开其他组成结构的支持,如Hive、Pig、HBase以及Zookeeper等,它们的组成,为Hadoop的数据存储、检索以及更高级别的功能实现提供了保障。而且它以其开源免费,且可靠、高效、可扩展等特性成为目前处理大数据的最受欢迎的平台。
图1 Hadoop的体系结构
2.1.2 HDFS的介绍
HDFS分布式系统采用了主从结构构建,NameNode为主节点,其他DataNode为从节点。HDFS架构中包含的节点和功能如下:
(1)NameNode。NameNode是HDFS系统中的管理者,它负责管理文件系统的命名空间,文护文件系统的文件数及所有的文件和目录的元数据。同时,NameNode中还保存了每个文件与数据块所在的DataNode的对应关系,这些信息将被用于其他功能组件查找所需文件资源的数据服务器。
(2)Secondary NameNode。NameNode为整个HDFS系统的核心,为防止其发生故障,故设计Secondary NameNode,按照一定时间间隔保持在文件系统元数据的快照,以备NameNode故障发生时进行数据恢复。
(3)DataNode。DataNode是HDFS系统中保存数据的节点。DataNode定期向NameNode报告其存储的数据块列表,以备使用者通过直接访问DataNode获得相应的数据。
(4)Client。Client是HDFS文件系统的使用者,它通过调用HDFS提供的API对系统的文件进行读写操作。在进行读写操作时,Client需要先从NameNode获得文件存储的元数据信息,然后才与相应的DataNode进行数据读写操作。
2.1.3 Map/Reduce的介绍
Map/Reduce程序的主要思想就是映射(Map)和化简(Reduce)[12]两步,这些都是函数式编程语言中借鉴而来的。它能够极大地方便编程人员,即使在不了解分布式并行编程的情况下,也可以将自己的程序运行在分布式系统上。Map/Reduce在执行上是先指定一个映射(Map)函数,它会接收到类似于<key,value>的键值对,通常这里的<key,value>集合都是由导进的web日志文件形成的。然后经过一定处理后会产生同样为<key,value>形式的中间值输出,Hadoop会负责将所有具有相同中间值key值的value集合到一起传递给化简(Reduce)函数,Reduce函数接收一系列如<key,(list of values)>形式的输入,然后对这个value集合进行处理并输出结果,Reduce的输出也是<key,value>形式的。它主要用途就是对最初的web日志进行处理,使里面的内容能够按照特定的要求进行排列,例如,可以修改日志文件里面的时间格式、删除其中某些字段特殊值的数据记录等。Map/Reduce运行框架里面含有一下几类独立插件: 基于Hadoop的大数据分析研究与系统开发(3):http://www.youerw.com/jisuanji/lunwen_20548.html