《大数据全系列》
本次更新内容为大数据第八阶段:大型电商日志离线分析系统:
一、项目介绍
大型网站日志分析离线项目作为企业级日志分析项目主要是对网站的用户日志数据按时间段进行离线批处理,将计算结果存储于关系型数据库系统。后续可以根据业务的需要,直接以关系型数据库系统中的数据为基础进行数据的可视化处理。
该项目的结果数据可以作为网站运行部门提高网站粘性,促进产品销售,优化网站布局等业务的依据。
二、技术选型
大型网站日志分析离线项目主要使用技术如下:
Nginx、Flume、HDFS、MapReduce、HBase、Zookeeper、Hive、Sqoop等
三、项目核心功能模块
大型网站日志分析离线项目主要分析业务如下:
1)用户基本信息分析模块:
用户基本信息分析模块主要是从用户/访客和会员两个主要角度分析浏览相关信息,包括但不限于新增用户,活跃用户,总用户,新增会员,活跃会员,总会员以及会话分析等。
2)用户访问深度分析模块
该模块主要分析用户的访问记录的深度,用户在一个会话中访问页面的数量。
网站访问深度就是用户在一次浏览你的网站的过程中浏览了你的网站的页数。如果用户一次性的浏览了你的网站的页数越多,那么就基本上可以认定,你的网站有他感兴趣的东西。用户访问网站的深度用数据可以理解为网站平均访问的页面数,就是PV和uv的比值,这个比值越大,用户体验度越好,网站的粘性也越高。
3)其他涉及到的模块:
a.地域信息分析模块
主要分析各个不同省份的用户和会员情况。
b.浏览器信息分析模块
在用户基本信息分析的基础上添加一个浏览器这个维度信息。
c.外链数据分析模块
主要分析各个不同外链端带来的用户访问量数据。
d.订单分析模块
主要分析订单的相关情况
e.事件分析模块
作为预留模块,在本次项目中,只选用一个事件案例进行分析,就是订单相关的一个事件分析。
适合人群:
1)掌握Java代码
2)掌握Linux shell编程
3)掌握 HDFS及MapReduce原理和使用
4)掌握 Hive及HBase原理和使用
第1章 项目需求分析、系统架构设计 |
1项目需求分析 |
2系统架构 |
第2章 JS和JAVA SDK数据源、Nginx本地日志存储 |
1 JS SDK概述 |
2 JS SDK流程图分析 |
3 JS SDK 数据参数说明以及PC端事件概述 |
4 JS SDK的Launch和Pageview事件参数分析 |
5 JS SDK的其他事件参数分析 |
6 Java SDK |
7 项目搭建-模拟日志生成 |
8 JS知识补充 |
9 PageView和Launch事件JS代码分析 |
10 ChargeRequest和EventDuration事件JS代码分析 |
11 ChargeSuccess和ChargeRefund事件Java代码分析 |
12 Nginx安装 |
13 Nginx配置与日志记录测试 |
第3章 Flume日志收集 |
1 Flume概述 |
2 Flume安装与单节点模型的配置 |
3 Flume两节点串联 |
4 exec source案例 |
5 Spooling Directory Source案例 |
6 HDFS Sink 上 |
7 HDFS Sink 下 |
8 Sink其它类型和Channel类型扩展 |
9 Flume应用在项目中的配置 |
第4章 ETL日志处理 |
1 ETL思路分析、IP解析和浏览器信息解析代码讲解 |
2 ELT代码分析一 |
3 ETL代码分析二 |
4 ETL程序运行测试 |
第5章 新增用户指标开发 |
1新增用户思路引导 |
2 新增用户思路分析 |
3 MySQL表设计和实体类分析 |
4 NewUserRunner类代码实现 |
5 NewUserMapper类代码实现一 |
6 NewUserMapper类代码实现二 |
7 NewUserReducer类代码实现 |
8 NewUserRunner类二次开发代码实现一 |
9 NewUserRunner类二次开发代码实现二 |
10 生成测试数据并运行NewUserRunner |
11 剖析Reducer处理后的数据如何插入MySQL 一 |
12 剖析Reducer处理后的数据如何插入MySQL 二 |
第6章 活跃用户指标开发 |
1 什么是活跃用户 |
2 ActiveUserRunner类开发 |
3 ActiveUserMapper类开发 |
4 ActiveUserReducer类开发 |
5 ActiveUserRunner类二次开发以及程序测试 |
6 其它模块开发提示 |
第7章 Hive和HBase整合 |
1 hive和hbase整合配置以及内部表创建 |
2 hive整合hbase创建外部表 |
第8章 Sqoop概述、安装、数据的导入和导出 |
1 sqoop介绍和导入导出原理 |
2 sqoop安装配置以及测试 |
3 从MySQL中导入数据到HDFS |
4 从MySQL中导入数据到Hive中 |
5 从Hive中导出数句到MySQL中 |
第9章 用户浏览深度SQL实现 |
1 需求分析 |
2 用户角度-统计用户在指定日期PV数 |
3 用户角度-使用case when语句升级sql |
4 用户角度-将中间查询结果保存到临时表中 |
5 用户角度-使用行转列技术升级sql |
6 日期和平台UDF类代码实现 |
7 创建UDF函数并升级SQL |
8 编写Sqoop脚本将hive中的数据导出到MySQL中 |
9 会话维度思路讲解 |
10 Shell脚本分析 |
第10章 项目优化、架构设计与项目总结 |
1服务器调优总体概述 |
2服务器调优之HDFS调优 |
3服务器调优之HBase参数调优 |
4服务器调优之MapReduce参数调优 |
5代码调优 |
6总结 |
另附各章节课程资料