hive技术的搜索网站日志数据统计系统的设计与实现

摘 要
目 录
摘 要 I
ABSTRACT II
第1章 绪论 1
1.1选题背景及意义 1
1.2国内外相关研究 2
1.3本文研究内容 3
1.4 各章内容介绍 4
第2章 相关技术介绍 5
2.1 Hadoop介绍 5
2.1.1 Hadoop定义 5
2.1.2 HDFS介绍 5
2.2 MapReduce介绍 6
2.2.1概述 6
2.2.2工作原理 6
2.2.3性能优化 7
2.2.4 Yarn介绍 8
2.3 Hive介绍 9
2.3.1 Hive定义 9
2.3.2 基础架构 9
2.3.3 Hive优势 10
2.3.4 HiveQL介绍 11
2.4 本章小结 12
第3章 系统设计 13
3.1系统概述 13
3.2系统框架 14
3.3模块设计 15
3.3.1 日志数据采集模块 15
3.3.2 日志数据存储模块 16
3.3.3日志数据查询统计模块 16
3.3.4日志数据输出模块 17
第4章 平台搭建与系统测试 18
4.1 平台部署配置 18
4.1.1 Hadoop安装 18
4.1.2 Hadoop配置 19
4.1.3 Hive安装 21
4.1.4 Hive配置 21
4.2数据统计分析 22
4.2.2每秒访问量分析处理 23
4.2.3用户点击顺序分析处理 25
4.3测试结果分析 26
第5章 总结与展望 28
参考文献 29
致 谢 30
附录:外文翻译 32
英文文献 32
中文翻译 38
第1章 绪论
1.1选题背景及意义
 *好棒文|www.hbsrm.com +Q:  3_5_1_9_1_6_0_7_2 

随着数字网络的高速发展,人们对于网络信息的需求与日俱增。然而,用户对互联网的需求却大不相同,往往体现出一定的偏好性。例如,有的人喜欢书籍,有的人喜欢电影。而且,一般用户上网的习惯都是相对稳定的,短时间不会发生太大的变化。网站运营者可以利用这些特点,来制定网站合适的运营策略。
当今的时代是一个信息爆炸的时代,在整个互联网中,网站成为了一个不可或缺的角色,起到了网络纽带的作用。网站是一个庞大的不断变化着的信息系统,我们随时都面对着大量的信息,无穷的数据。网站的种类也越来越丰富,内容类网站、电商类网站、交互式网站、个人网站等等,数量越来越多,各式各样的网站伴随着用户的需求而产生,有需求就有供应。
用户在和网站进行交互的时候,对网站内容和信息的选择往往不同。用户期望得到个性化的服务,对于网站的风格以及内容都可以根据自己的兴趣进行定制的,同时,希望网站可以根据用户的兴趣所在,为用户推荐可能感兴趣但是尚未阅读的内容,这些就为网站的设计提出了更高的要求【1】。对用户一些行为的分析,是一个搜索网站必须要面对的课题。如何分析用户行为呢?用户对一些网站的访问在网站后台会留下日志数据,也就是访问的痕迹。日志是服务器记录用户对站点资源的访问痕迹,其中每条记录一般包括用户访问时间、用户IP、资源的URL等字段。对于一个搜索网站来说,这种用户日志的数据量是巨大的,一般在TB级别,所以处理并且统计这些海量数据是很有意义的。对这些海量数据进行处理与统计是分析用户行为特征、获取用户属性、检测用户满意度最好的办法。
通过对日志数据的定量统计分析,揭示其中的关联关系、用户ID、用户满意度、访问路径等,可以优化网站站点的组织结构,发现用户搜索信息的共同行为,统计分析用户行为特征,针对不同的客户群体,分别提供个性化的服务,对网站的优化设计具有重大意义,更可以提高网站的经济效益。
基于以上因素,本文研究了基于hive技术的搜索网站日志统计系统,利用hadoop框架的分布式计算和hive对海量数据的高效统计处理,将其应用到搜索网站日志文件统计中,并对用户的搜索相关行为进行了简单的分析,搜索日志的统计结果对于搜索网站的结构优化有一定的指导意义,同时也攻克了传统并行计算海量数据文件的技术难题。
1.2国内外相关研究
目前,关于海量日志数据的研究与处理,能够使用的处理方法非常多,一般的方法有位图法、Bloom filter法、数据库索引、倒排索引法、堆、双层桶法、外排序法、字典树、MapReduce以及Hive。简单介绍几种:
(1)位图法
位图法的基本原理是采用位数组来判断某些元素是否存在,如11位手机号码中查重复号码,它适用于一些数字的査找访问等工作,主要是在内存中开辟一段空间,通过设置数据位的值来实现存储数字的信息。
(2)字典法
它的实现方式就是采用节点孩子的表现方式。这种数据处理方式主要用于在海量数据中査询出现次数较多的数据,或者是按照频度排列等。
(3)数据库索引
索引一般可以加速数据的查询速度,使得表与表之间的链接更加迅速,提高了数据处理性能,所以在对大量数据进行处理时,可以通过建立数据库索引的方式来将数据存放在数据库中,以实现增、删等相关功能。
(4)Hive
Hive 是一个可扩展性极强的数据仓库工具,基于 hadoop 分布式存储计算平台,以及HiveQL语句将job转换为MapReduce进程进行处理,它可以透明化存储和处理海量日志数据,简单高效,大大简化了数据处理过程。
数据的高速增长首先给一些处于市场领导地位的公司提出了巨大的挑战。它们所需要处理的数据量远远超出了一般机器所能擅长的量,它们需要处理的是TB、乃至PB级别的数据,通过处理海量数据获取大量有价值的信息,例如哪些网络词、电视剧、人物等比较受用户的青睐,以往的工具显然对于处理这种级别的数据不能胜任。这个时候,谷歌率先推出Map/Reduce模型,利用这个分布式处理框架可以比较方便地处理海量数据。Apache在这个基础上开发出了开源的分布式计算软件框架Hadoop。Hadoop的出现极大地缓解了大数据的处理压力,越来越多的大型网站开始使用Hadoop这个开源框架来进行分布式的大数据处理。
1.3本文研究内容
利用Hadoop平台处理数据,用户需自己编写MapReduce代码,而这种代码又处于较低的层次,用户不容易学会且难于维护。一个简单的查询任务,用户也得花费大量时间去编写、维护MapReduce程序。显然,如果想要最大的发挥出Hadoop的海量数据处理的优势,那么改进Hadoop的查询能力,降低基于Hadoop的开发难度,就显得尤为重要了。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/wlw/689.html

好棒文