资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Hadoop大数据开发实战 教学设计课程名称:Hadoop大数据开发实战 授课年级: _ _ _授课学期: _ _ _ _ 教师姓名: _ _ 课程名称第11章 综合项目-电商精准营销计划学时4学时内容分析本章主要介绍项目概述、项目详细介绍、项目模块分析、数据采集、数据清洗、使用数据仓库进行数据分析、可视化教学目标与教学要求要求学生了解项目背景及需求,了解项目中的架构设计,了解数据来源,掌握数据清洗流程,掌握数据仓库操作流程,掌握应用测试方法。教学重点项目模块分析、数据采集、数据清洗、使用数据仓库进行数据分析、可视化教学难点项目模块分析、数据采集、数据清洗、使用数据仓库进行数据分析、可视化教学方式课堂讲解及ppt演示教学过程第一课时(项目概述、项目详细介绍、项目模块分析、数据采集、数据清洗)回顾内容,引出本课时主题1.回顾内容,引出本课时的主题在前面的章节中,详细讲解了Hadoop的基础知识与核心技术,以及各相关组件的使用,包括Hadoop、Hive、HBase、Zookeeper、Flume、Sqoop等。本节将通过一个企业级真实项目案例,串联前面所学的知识点,讲解这些知识点在实际开发过程中的应用。2.明确学习目标(1) 能够了解项目详细介绍(2) 能够掌握项目模块分析(3) 能够掌握数据采集(4) 能够掌握数据清洗知识讲解 项目背景介绍电商网站上线之后,利用大数据技术,收集用户的行为数据,进行多维度统计分析,掌握网站线上运营情况,将分析结果生成相应的数据报表,提供给运营部门进行业务分析。运营部门利用数据报表,可以制订出相应的网站优化方案,调整广告投入,组织举办更好的促销、精准营销等活动。 项目架构设计项目架构:数据源(JS、SDK)数据采集(Flume)数据预处理(MapReduce)数据仓库(Hive)数据导出(Sqoop)数据存储(MySQL)数据可视化。(1)数据采集。每当用户通过PC端或者移动端访问商城网站时,网站前台后台程序均会产生日志信息,前台通过JS(JavaScript)收集到Nginx服务器中,后台通过SDK(Software Development Kit,软件开发工具包)收集到Nginx服务器中。然后在Nginx服务器中部署Flume Agent采集软件,实时监控目录,将产生的日志文件实时的采集到HDFS当中。(2)数据预处理。将采集到的数据按照项目需求进行初步的清洗,得到项目中需要使用到的字段数据。(3)数据仓库。由于MapReduce操作数据编写流程过于复杂,这里采用Hive来对数据进行处理。将数据导入到Hive中,按照项目的需求,写SQL语句来实现。(4)数据存储。处理之前的数据以及Hive的输出数据都存储在HDFS中,读取十分缓慢,很容易造成超时,这里采用Sqoop工具,将数据导入到MySQL中。(5)数据可视化,为了更直观的展示数据结果,对得到的数据结果进行可视化操作。 项目核心关注点本项目收集不同客户端的用户行为数据,通过MapReduce、Hive进行数据分析处理,将分析结果数据保存到关系型数据库中。在此过程中需要对几个核心的关注点进行详细分析。(1) 购买率:购买的人数/总人数 购买的人数/查看该商品的总人数。(2) 复购率:n次购买的人数 / n-1次购买的人数(N=2)。(3) 订单数量,订单金额,订单的类型。成功订单数量、成功订单金额、成功订单的类型。退款订单数量、退款订单金额、退款订单的类型。(4) 访客人数/会员人数。(5) 访客转会员的比例。(6) 广告推广效果。(7) 网站内容相关的分析(网站的跳出率、页面的跳出率)。 重要概念1. 访客访问网站指定用户、一般称为自然人,区分PC、手机:访客统计指标如下。(1) 新增访客:第一次访问系统的访客人数。(2) 活跃访客:给定时间段内访问过系统的访客人数(老访客+新访客)。(3) 总访客:迄今为止访问过系统的访客总人数。(4) 流失访客:上一个时间段内访问过系统,当前时间段内没有访问系统的访客人数。(5) 回流访客:上一个时间段内没有访问过系统,当前时间段内访问过系统的访客人数2. 会员业务系统中注册用户、直接使用业务系统中会员标识符来标识。访客登录系统后,就成为会员。会员统计指标如下。(1) 新增会员:第一次登录系统的会员人数。(2) 活跃会员:给定时间段内登录过系统的会员人数(老会员+新会员)。(3) 总会员:迄今为止新增会员的总人数。(4) 回流会员。(5) 流失会员。(6) 访客转会员比例。(7) 新增访客转会员的比例。3. 会话用户进入到系统到离开系统这一段时间被成为会话,这段时间的会话时间长度就叫做会话长度,一个会话中的所有操作都属于同一个会话。会话分为PC端会话和移动端会话。PC端会话采用浏览器的Session机制在Cookie中存储一个存活时间,在操作的时候,进行判断时间是否过期,如果过期,产生一个新的会话,如果没有过期,更新操作时间移动端会话采用移动端的Session机制,类似PC端种植Cookie的方式,在磁盘中写入一个时间进行判断。会话指标如下。(1) 会话长度。(2) 会话数量。(3) 跳出会话的数量(在一个会话中,只访问过一次网站的会话数量)。4. 跳出率跳出率统计指标如下。(1) 会话跳出率:跳出会话/总会话数量。(2) 页面跳出率:从该页面离开后进入到其他页面的会话数量占进入该页面会话数量的百分比。5.外链外链统计指标:不同外链带来的会话数量/访客数量/订单数量。6.PVPV(PageView,页面访问量)是用户每次对网站的访问总次数,用户,每次对网站访问都被记录,用户多次访问同一页面,访问量累计。7.UV统计UV(Unique Visitor,独立访问用户)数量。访问网站的一台计算机为一个访客。00:00-24:00相同的客户端只被计算一次。8.独立IP统计独立IP数量。00:00-24:00内相同IP地址只被计算一次。9.DVDV(Depth View,访问深度)指访问了多少页面,展示网站内容对用户的吸引程度,结合跳出率,有助于修改网站内容,提高网站黏性友好性。统计指标:不同访问深度访客人数/会话数量。 维度数据分析只有基于相应的维度下才有意义,常见的维度如表所示维度解释时间维度年、季度、月、周、日、小时平台维度区分用户行为数据来自PC端、移动端还是后台系统,有Website、Android、Ios、Java_Server、Php_Server等浏览器维度却别浏览器类型、浏览器版本地域维度国家、省份、城市KPI维度指定分析的指标版本维度比如V1、V2等等,一般用于多个版本之间进行数据比较(AB测试)支付方式维度Alipay、Weixin、银行卡支付外链维度百度、360、google等等操作系统维度操作系统名称、操作系统版本 项目模块分析本项目主要有七个模块的数据,分别为:用户基本信息分析模块、浏览器分析模块、地域分析模块、外链分析模块、用户浏览深度分析模块、事件分析模块、订单分析模块。针对不同的分析模块,我们有不同的用户数据需求,七个模块中,用户基本信息分析模块和浏览器分析模块类型一致,只是后者比前者多一个浏览器维度。地域分析模块和外链分析模块分别从不同的维度进行分析展示。用户浏览深度分析模块、事件分析模块以及订单分析模块是单独针对业务进行的分析。 用户基本信息分析模块主要从访客和会员两个主要角度分析浏览相关信息,包括但不限于新增访客、活跃访客、总访客、新增会员、活跃会员、总会员以及会话分析等。 浏览器分析模块在用户基本信息分析的基础上添加一个浏览器维度。(1)浏览器访客分析。(2)浏览器会员分析。(3)浏览器会话分析。(4)浏览器PV分析。 地域分析模块主要分析个不同省份的用户和会员状况。(1)活跃访客地域分析。(2)不同地域的跳出率分析。 外链分析模块主要分析各不同外链端带来的用户访问量数据。(1)外链偏好分析:分析各个外链带来的活跃访客数量。(2)外链会话(跳出率)分析。 Sqoop export参数我们需要将用户浏览的数据采集到我们的存储系统(HDFS)中,在本项目中,我们只收集PC端数据和程序后台的部分数据。在PC端,我们通过集成JS来收集用户浏览行为数据;在程序后台,我们通过集成Java的jar文件包来收集需要的数据。在这里只考虑Java开发环境。JS/jar将收集的数据发送到Nginx,然后Flume监控Nginx日志,将数据写入到HDFS中,如图所示。 JS SDK收集数据1. 概述 应了解JS SDK的集成方式以及提供的各种不同的API,注意:不采用IP地址,而是通过在Cookie中填充一个UUID来标示用户的唯一性。2. JS SDK执行工作流JS SDK中按照收集数据的不同分为不同的事件,比如Pageview事件等。JS SDK的执行流程如图所示3. 程序前台事件分析不同的分析模块需要不同的数据,下面分别分析每个模块需要的数据。用户基本信息就是用户的浏览行为信息,所以我们只需要Pageview事件。本项目所涉及到的事件如表所示最终分析模块PC端JS SDK事件用户基本信息分析Pageview事件浏览器分析地域分析外链分析用户浏览深度分析ChargeRequest事件事件分析Event事件Launch事件(1)Launch事件。用户第一次访问网站触发该事件。该事件不提供对外调用的接口,只实现该事件的数据收集。(2)Pageview事件。用户访问页面/刷新页面触发该事件。该事件可以自动调用,也可以让程序员手动调用。(3)ChargeRequest事件。用户下订单触发该事件。该事件需要程序主动调用。(4)Event事件。用户触发业务定义的事件后,前端程序调用相关方法。4. 数据参数说明。从各个不同事件中收集的不同数据被发送到Nginx服务器,但实际上这些数据还是有一些共性的。可能用到的数据参数说明如所示。参数名称类型描述enstring事件名称, 如:e_pvverstring版本号, 如:0.0.1plstring平台,如:websitesdkstringSdk类型,如:jsb_rststring浏览器分辨率,如:1800*678b_ievstring浏览器信息useragentu_udstring用户/访客唯一标识符lstring客户端语言u_midstring会员id,和业务系统一致u_sdstring会话idc_timestring客户端时间p_urlstring当前页面的urlp_refstring上一个页面的urlttstring当前页面的标题castringEvent事件的Category名称acstring
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号