课程主题:HDFS的Java API操作《大数据应用开发》 课程任务12.1 系统概述系统预览系统背景介绍系统架构设计.312.1.1本章通过Hadoop生态体系技术实现网站流量日志分析系统,来帮助读者在开发中学习大数据体系架构的开发流程,以及利用现有技术解决实际生活中遇到的问题。本章核心是具体独立分析日志数据,并掌握网站流量日志数据分析系统的业务流程。利用MapReduce技术将数据提取出易于分析的数据结构,以及使用Hive完成数据分析,计算出需求结果的能力。近年来,随着社会的不断发展,人们对于海量数据的挖掘和运用越来越重视,大数据的统计分析可以为企业决策者提供充实的依据。例如,通过对某网站日志数据统计分析,可以得出网站的日访问量,从而得出网站的欢迎程度;通过对移动APP的下载数据量进行统计分析,可得出应用程序的受欢迎程度,可通过不同维度进行更深层次的数据分析,为运营分析与推广决策提供可靠的数据依据。传统大数据统计分析的架构图1将Nginx服务器所产生的日志文件通过Flume采集到HDFS中;2根据原始日志文件及规定数据格式开发MapReduce程序进行数据预处理;435通过Hive进行最为重要的数据分析;通过WEB系统,实现数据可视化。将分析的结果通过Sqoop工具导出到关系型数据库MySQL中;通过网站流量日志分析系统计算网站七日人均浏览量课程主题:模块开发—数据采集《大数据应用开发》 课程任务12.2 模块开发—数据采集日志信息说明使用Flume搭建日志采集系统.2部署Flume的Agent节点a1.sources = r1a1.sources.r1.type = TAILDIRa1.sources.r1.channels = c1a1.sources.r1.positionFile = /var/log/flume/taildir_position.jsona1.sources.r1.filegroups = f1 f2a1.sources.r1.filegroups.f1 = /var/log/test1/example.loga1.sources.r1.filegroups.f2 = /var/log/test2/.*log.*28 - - [18/Sep/2013:06:51:35 +0000] GET /wp-includes/js/jquery/jquery.js?ver=1.10.2 HTTP/1.1 304 0 http://blog.fens.me/nodejs-socketio-chat/ Mozilla/5.0 (Windows NT 5.1; rv:23.0) GeckoFirefox/23.0网站流量日志数据的内容日志数据片段描述28访客IP地址- -访客用户信息[18/Sep/2013:06:51:35 +0000]请求时间GET请求方式/wp-includes/js/jquery/jquery.js?ver=1.10.2请求url地址HTTP/1.1请求协议304请求响应码0请求返回的数据流量http://blog.fens.me/nodejs-socketio-chat/访客来源urlMozilla/5.0 (Windows NT 5.1; rv:23.0) GeckoFirefox/23.0访客浏览器信息课程主题:模块开发 — 数据预处理《大数据应用开发》 课程任务12.3 模块开发 — 数据预处理实现数据的预处理分析预处理的数据.2数据预处理流程在数据预处理阶段,主要目的就是对收集的原始数据进行清洗和筛选,因此使用前面学习的MapReduce技术就可以轻松实现。在实际开发中,数据预处理过程通常不会直接将不合法的数据直接删除,而是对每条数据添加标识字段,从而避免其他业务使用时丢失数据。1创建Maven项目,添加相关依赖。2创建JavaBean对象,封装日志记录。3编写MapReduce程序,执行数据预处理。查看生成的结果文件内容课程主题: 模块开发—数据仓库开发《大数据应用开发》 课程任务12.4 模块开发—数据仓库开发实现数据仓库设计数据仓库.2 数据预处理完成后,就需要将MapReduce程序的输出结果文件上传至HDFS中,并使用Hive建立相应的表结构与上传的输出结果文件产生映射关系。在创建Hive数据表之前,需要根据业务,分析并设计出需要创建的表结构。表ods_weblog_origin的结构(窄表)字段描述valid是否有效remote_addr访客IPremote_user访客用户信息time_local请求时间request请求URLstatus响应码body_bytes_sent响应字节数http_referer来源UR
原创力文档

文档评论(0)