大数据离线分析项目(Hadoop).doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目总体需求、具体设计 总体需求:捕获用户每天的行为数据,生成业务日志文件,根据日志文件清洗、分析、提取出需要的价值信息(pv:页面浏览量 uv:独立访客数 独立IP 会话时长等),对网站的良好运营提供有价值的指标。 具体设计 2.1捕获(JsSDK)用户行为数据(launch事件、pageView事件、event事件、chargerequet事件) 2.2将捕获的数据发送给web服务器,生成日志文件(Nginx) 2.3将日志文件上传至文件存储系统中(Shell脚本、Flume) 2.4在文件存储系统中对日志文件进行清洗,过滤掉脏数据和不需要的字段(MapReuce job任务) 2.5将过滤后的日志文件导入到数据库中(HBase) 2.6通过MapReduce程序或Hive进行统计分析(Hive) 2.7将统计分析后的结果导入到本地数据库中进行永久储存(Mysql) 2.8在前端进行展示(SpringMVC+Highcharts) 项目架构(画图) 具体分为三个部分(如下图所示): 数据收集层 hadoop、hive、flume、kafka、shell 数据分析层 hive、MapReduce、spark 数据展示层 springmvc + highcharts 技术选型、特点、为什么 JsSDK捕获前端页面数据。Javascript 编写页面日志生成与发送工具(原则: 保持对业务代码最小影响) 特点:采用原生的JavaScript编写,以js文件嵌入到前端,页面触发业务所关注的事件(按照收集数据的不同分为不同的事件)时调用相关方法。 Java sdk 后台服务日志生成与发送工具 JavaSDK代码很简单,可以打成jar包或者直接拷贝类到具体的项目中,正常逻辑处理到JavaSDK所关注的事件后,调用JavaSDK提供的api即可。 3. Nginx web服务器,产生日志文件 特点:Nginx是一个小巧而高效的Linux下的web服务器软件,相比较Apache它不仅有稳定性、丰富的功能集、示例配置文件,更重要的是Nginx是基于事件的,它的内存使用很低,系统资源消耗小很多。 shell脚本上传日志文件(数据量一般比较小的场景,不会立即进行分析) 分割日志,每天定时分割成昨天的日志文件。(vi split.sh) 上传到HDFS。(vi put2hdfs.sh) flume上传(数据量一般比较大的场景,需要实时处理。) 5. HBase数据库 数据解析以后,我们把它存入HBase表。因为:不同的事件,最后上传到HDFS里面每行数据的字段数量是不一样的;而且HBase中,单表数据量相对比较大 6. MySql 最终结果存储 Mysql是关系型数据库,结构十分清晰,能够与JavaWeb中的SpringMVC进行很好的对接;而且SQL语句是结构化的查询语言,方便运营页面查询数据 7. SpringMVC+Highcharts 进行报表显示 具体实现需求(分析了哪些功能pv、uv) 主要实现需求: Pv:页面的浏览次数,衡量网站用户访问的网页数量;用户每打开一个页面就记录一次,多次打开同一个页面则浏览量累计。描述用户访问网站信息,应用于基本的各个不同计算任务 Uv:独立访客数 1天内访问某站点的人数(以cookie为依据) 1天内同一访客的多次访问只计为1个访客 S_time:会话时长 详细需求: 项目中遇到了哪些问题,怎么解决 1、日志格式有点混乱,以至于给后面的数据清洗带来困扰 办法:最后调整数据格式,并重新定义了分隔符 2、对日志文件进行分析时,建立Hive外部表与Hbase表的链接字段搞错,以至于HBase与Hive整合不成功 办法: 查看数据字典,查找字段,并将hive外部表的字段名和HBase表的列名一样。 项目总结 通过本次项目搭建,我对大数据的实际应用,以及客户需求的具体实现有了更为清晰的认识,同时也对之前所学到的知识进行了温故与整合。 同时看到了自己的很多不足,究其原因,是对Hadoop以及诸多协作框架的理解应用 仅限于皮毛,缺乏透彻的研究,实际开发能力仍大有欠缺,需要更多的实战来历练。 总之,通过本次项目搭建我收获颇丰,受益匪浅,并清楚了自己以后学习的重点,努力的方向。 社会实践报告 系 别: 班 级: 学 号: 姓 名: 作为祖国未来的事业的继承人,我们这些大学生应该及早树立自己的历史责任感,提高自己的社会适应能力。假期的社会实践就是很好的锻炼自己的机会。当下,挣钱早已不是打工的唯

文档评论(0)

qqbbc1234 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档