1.通过页面埋点将数据带回到服务器端!
window.navigator.userAgent可以获得浏览器,操作系统的信息!
window.navigator.language 可以获取语言信息(F12搜索)
2.通过客户端ip获取地域信息!
3.ETL除了处理脏数据,还会处理ip到地域的转换
4.Sdk指通过页面埋点js,或者java收集!
5.u_uid,u_mid用户id和会员id!
6.会话id即sessionid!
7.a)Launch事件(里面带了很多参数数据,通过js事件我们可以自己埋点,自己将想要的信息带回到服务器端!js可以做加密处理带过去)
当用户第一次访问网站的时候触发该事件,不提供对外调用的接口,只实现该事件的数据收集。
b)事件参数 是缩写!
c)Pageview事件
当用户访问页面/刷新页面的时候触发该事件。该事件会自动调用,也可以让程序员手动调用。
d)chargeRequest事件
当用户下订单的时候触发该事件,该事件需要程序主动调用。
e)Event事件
当访客/用户触发业务定义的事件后,前端程序调用该方法。
event)预留的功能事件
8.java代码也可以收集参数信息!
9.单独数据收集,log4j,http请求,后台单独开启一个线程!
10.通过java或者js事件:js事件和java事件都是发给后台的日志收集服务器!
由于在本次项目中java sdk的作用主要就是发送支付成功/退款成功的信息给nginx服务器,所有我们这里提供的是一个简单版本的java sdk。
我们这里日志收集的服务器是nginx服务器!
注意:不采用ip来标示用户的唯一性,我们通过在cookie中填充一个uuid来标示用户的唯一性。
js收集数据:(在各个不同事件中收集不同的数据发送到nginx服务器,但是实际上这些收集到的数据还是有一些共性的)
针对我们最终的不同分析模块,我们需要不同的数据,接下来分别从各个模块分析,每个模块需要的数据。
用户基本信息就是用户的浏览行为信息分析,也就是我们只需要pageview事件就可以了;浏览器信息分析以及地域信息分析其
实就是在用户基本信息分析的基础上添加浏览器和地域这个维度信息,其中浏览器信息我们可以通过浏览器的window.navigator.userAgent
来进行分析,地域信息可以通过nginx服务器来收集用户的ip地址来进行分析,也就是说pageview事件也可以满足这两个模块的分析。外链数
据分析以及用户浏览深度分析我们可以在pageview事件中添加访问页面的当前url和前一个页面的url来进行处理分析
,也就是说pageview事件也可以满足这两个模块的分析。订单信息分析要求pc端发送一个订单产生的事件,那么对应
这个模块的分析,我们需要一个新的事件chargeRequest。对于事件分析我们也需要一个pc端发送一个新的事件数据,我
们可以定义为event。除此之外,我们还需要设置一个launch事件来记录新用户的访问。
11.ETL处理完并不一定符合自己的业务,有时候还要自己需要再次处理!
12.往后发展,数据挖掘或者机器学习,设计模型,训练模型!
13.有的时候可以往深入方向发展,有的时候是往广处发(对各个流程都很要清晰)!
14.前面ETL处理的好,交给SQL处理的就好办多了!
16.注意:这里之所以用java和js日志收集区分开来,是因为收集的信息不一样:
1)由于在本次项目中java sdk的作用主要就是发送支付成功/退款成功的信息给nginx服务器,
所有我们这里提供的是一个简单版本的java sdk。
本项目中在程序后台只会出发chargeSuccess事件,本事件的主要作用是发送订单成功的信息给nginx服务器。
发送格式同pc端发送方式, 也是访问同一个url来进行数据的传输
2)1、PC端事件分析
针对我们最终的不同分析模块,我们需要不同的数据,接下来分别从各个模
块分析,每个模块需要的数据。用户基本信息就是用户的浏览行为信息分析,也就是我
们只需要pageview事件就可以了;浏览器信息分析以及地域信息分析其实就是在用户基本
信息分析的基础上添加浏览器和地域这个维度信息,其中浏览器信息我们可以通过浏览器的window.navigator.userAgent
来进行分析,地域信息可以通过nginx服务器来收集用户的ip地址来进行分析,也就是说pageview事件也可以满足这两个模块
的分析。外链数据分析以及用户浏览深度分析我们可以在pageview事件中添加访问页面的当前url和前一个页面的url来进行
处理分析,也就是说pageview事件也可以满足这两个模块的分析。订单信息分析要求pc端发送一个订单产生的事件,那么对
应这个模块的分析,我们需要一个新的事件chargeRequest。对于事件分析我们也需要一个pc端发送一个新的事
件数据,我们可以定义为event。除此之外,我们还需要设置一个launch事件来记录新用户的访问。
15.为什么要用nginx日志收集服务器呢?
实现业务的隔离
高并发
16.ETL清晰:百分号,空格,“”号去掉,同时ip转换为省市信息!何况不同的浏览器要做不同的处理!用MR程序处理(这里数据量比较大,所以MR!)
MR程序是分四个阶段:split,map,shuffle,reduce!
ETL一般不经过shuffle,只做到map就可以了,shuffle就省略了,太复杂了,reduce也不用!
17.请看:课件发送的-------》数据流.png图片-------》这个文件,这个文件很好(这是张图片)!
18.好的方式是将业务服务器(mysql)先导入到HDFS上,然后再进行分析!
19.flume输出的时候可以不往HDFS中写,可以往kafala写,kafala就是个消息队列!(kafala是实时处理)
一旦经过HDFS就不是实时处理了!
20.=========================自己第一个hadoop项目课件中(自我笔记)的数据流.png图片 流程图很重要===========================================
window.navigator.userAgent可以获得浏览器,操作系统的信息!
window.navigator.language 可以获取语言信息(F12搜索)
2.通过客户端ip获取地域信息!
3.ETL除了处理脏数据,还会处理ip到地域的转换
4.Sdk指通过页面埋点js,或者java收集!
5.u_uid,u_mid用户id和会员id!
6.会话id即sessionid!
7.a)Launch事件(里面带了很多参数数据,通过js事件我们可以自己埋点,自己将想要的信息带回到服务器端!js可以做加密处理带过去)
当用户第一次访问网站的时候触发该事件,不提供对外调用的接口,只实现该事件的数据收集。
b)事件参数 是缩写!
c)Pageview事件
当用户访问页面/刷新页面的时候触发该事件。该事件会自动调用,也可以让程序员手动调用。
d)chargeRequest事件
当用户下订单的时候触发该事件,该事件需要程序主动调用。
e)Event事件
当访客/用户触发业务定义的事件后,前端程序调用该方法。
event)预留的功能事件
8.java代码也可以收集参数信息!
9.单独数据收集,log4j,http请求,后台单独开启一个线程!
10.通过java或者js事件:js事件和java事件都是发给后台的日志收集服务器!
由于在本次项目中java sdk的作用主要就是发送支付成功/退款成功的信息给nginx服务器,所有我们这里提供的是一个简单版本的java sdk。
我们这里日志收集的服务器是nginx服务器!
注意:不采用ip来标示用户的唯一性,我们通过在cookie中填充一个uuid来标示用户的唯一性。
js收集数据:(在各个不同事件中收集不同的数据发送到nginx服务器,但是实际上这些收集到的数据还是有一些共性的)
针对我们最终的不同分析模块,我们需要不同的数据,接下来分别从各个模块分析,每个模块需要的数据。
用户基本信息就是用户的浏览行为信息分析,也就是我们只需要pageview事件就可以了;浏览器信息分析以及地域信息分析其
实就是在用户基本信息分析的基础上添加浏览器和地域这个维度信息,其中浏览器信息我们可以通过浏览器的window.navigator.userAgent
来进行分析,地域信息可以通过nginx服务器来收集用户的ip地址来进行分析,也就是说pageview事件也可以满足这两个模块的分析。外链数
据分析以及用户浏览深度分析我们可以在pageview事件中添加访问页面的当前url和前一个页面的url来进行处理分析
,也就是说pageview事件也可以满足这两个模块的分析。订单信息分析要求pc端发送一个订单产生的事件,那么对应
这个模块的分析,我们需要一个新的事件chargeRequest。对于事件分析我们也需要一个pc端发送一个新的事件数据,我
们可以定义为event。除此之外,我们还需要设置一个launch事件来记录新用户的访问。
11.ETL处理完并不一定符合自己的业务,有时候还要自己需要再次处理!
12.往后发展,数据挖掘或者机器学习,设计模型,训练模型!
13.有的时候可以往深入方向发展,有的时候是往广处发(对各个流程都很要清晰)!
14.前面ETL处理的好,交给SQL处理的就好办多了!
16.注意:这里之所以用java和js日志收集区分开来,是因为收集的信息不一样:
1)由于在本次项目中java sdk的作用主要就是发送支付成功/退款成功的信息给nginx服务器,
所有我们这里提供的是一个简单版本的java sdk。
本项目中在程序后台只会出发chargeSuccess事件,本事件的主要作用是发送订单成功的信息给nginx服务器。
发送格式同pc端发送方式, 也是访问同一个url来进行数据的传输
2)1、PC端事件分析
针对我们最终的不同分析模块,我们需要不同的数据,接下来分别从各个模
块分析,每个模块需要的数据。用户基本信息就是用户的浏览行为信息分析,也就是我
们只需要pageview事件就可以了;浏览器信息分析以及地域信息分析其实就是在用户基本
信息分析的基础上添加浏览器和地域这个维度信息,其中浏览器信息我们可以通过浏览器的window.navigator.userAgent
来进行分析,地域信息可以通过nginx服务器来收集用户的ip地址来进行分析,也就是说pageview事件也可以满足这两个模块
的分析。外链数据分析以及用户浏览深度分析我们可以在pageview事件中添加访问页面的当前url和前一个页面的url来进行
处理分析,也就是说pageview事件也可以满足这两个模块的分析。订单信息分析要求pc端发送一个订单产生的事件,那么对
应这个模块的分析,我们需要一个新的事件chargeRequest。对于事件分析我们也需要一个pc端发送一个新的事
件数据,我们可以定义为event。除此之外,我们还需要设置一个launch事件来记录新用户的访问。
15.为什么要用nginx日志收集服务器呢?
实现业务的隔离
高并发
16.ETL清晰:百分号,空格,“”号去掉,同时ip转换为省市信息!何况不同的浏览器要做不同的处理!用MR程序处理(这里数据量比较大,所以MR!)
MR程序是分四个阶段:split,map,shuffle,reduce!
ETL一般不经过shuffle,只做到map就可以了,shuffle就省略了,太复杂了,reduce也不用!
17.请看:课件发送的-------》数据流.png图片-------》这个文件,这个文件很好(这是张图片)!
18.好的方式是将业务服务器(mysql)先导入到HDFS上,然后再进行分析!
19.flume输出的时候可以不往HDFS中写,可以往kafala写,kafala就是个消息队列!(kafala是实时处理)
一旦经过HDFS就不是实时处理了!
20.=========================自己第一个hadoop项目课件中(自我笔记)的数据流.png图片 流程图很重要===========================================