00:00
啊,这个大家得认,这块得认真听啊呃,为什么?因为日日结构你搞不明白,那后续咱们是做数仓的时候,你是不是也解析不明白呀,对吧?咱们来看一看这个日日结构来,在咱这个采集项目当中呢,我们的日志结构哎,分为了这样的两类,注意是按照日志的结构去分啊,咱们分为两类,刚才是按内容分,分了五类啊,那结构啊,哪两类呢?啊,一类是普通页面的买点日志啊,就是我们在浏览页面的过程当中生成的日志,这是第一类,那第二类是什么呢?是启动日志啊,就是我们用户在启动应用的时候产生的日志啊这样的主要有这样的两类啊,主要这两类,好,那咱们接下来先看一下咱们这个第一类日志啊,就是页面买点日志来看一下。看一下页面日当中包含了哪些内容啊,首先普通页面日志结构如下啊,一会儿再看这个结构啊,大家可以看到这一个什么什么什么结构啊,是杰森的对吧?呃,其实我们大多数的这个,呃,买点日志结构呢,基本都是杰森啊,基本都是杰森啊好,那就在往下走,那下边呢,我们每条日志当中包含了什么内容呢?一起来看,首先有一个当前页面的页面信息,会有页面信息,就是咱们这提到的这个。
01:18
啊,那还有什么,你在该页面所做的所有的事件,或者是所有的动作啊,诶也就是他那还有什么呀,所有的曝光信息啊,那还有什么呀,还有错误信息,因为你浏览页面的时候,是不是可能会报错呀,对不对,那错误信息也会包含在里面。啊,那除此之外啊,还有一些新的信息,咱们刚才没说,还有还有什么。除此之外,还包含了一系列的公共信息啊,其实这个所谓的公共信息呢,全是一些描述性的信息,或者叫做一些维度信息啊,都有什么呢?包括设备相关信息,地理位置信息啊,应用信息,哎等等等等啊,那你指的就是谁?指的就是咱们下边这个杰森里边这个所谓的common字段就是谁,就大家看到这一块对吧,咱们看一看这里边东西都是啥啊。
02:10
来看一下。首先第一个字段啊,AR咱们后边有解释,叫做什么地区编码啊,那还有什么呀,BABA指的是那个brand啊这什么呀,这是咱们手机的品牌啊,那后边还有一个channel,哎,指的是咱们的诶渠道啊渠道,那再往后呢,还有一个MDMD这呢指的是呃,这个咱们的手机的型号,哎,Model啊,型号IPHONE8,那再往后呢,我们还有一个mid mid的指的是这个设备的ID,我们每一个设备呢,都有一个自己唯一的设备ID啊,设备ID你像这些东西里边就包含了,比如说我们的地区地理位置信息,呃,还有包括我们的一些设备信息啊,后边什么操作系统一些设备信息啊,那还有什么应用的版本号啊,就是咱们现在目前所使用的应用是什么版本的啊,是2.0的,2.1的,2.2的啊是这样,还有这个u I Du ID指的是user ID user ID啊好,那这些就是咱们这公共信息,公共信息。
03:08
啊,其实不光是咱们这个页面买点日志当中有公共信息,那大家说启动日志当中咱不是还有两不是还有一类是启动日志吗?那启动志里边有没有这些信息啊。也应该有吧,对吧,大家想想啊,如果说没有这样的一些信息,那只保留了页面信息,什么事件动作,那你说那有意义吗?你也不知道是谁干的呀,对吧?页面谁浏览的不知道啊,对不对,页面这个事件谁干的,优惠券谁领的不知道对吧?所以说我们必须得有这些公共信息才可以啊,是这样的啊,那这就是呃,咱们讲到这个普通页面日志的里边的内容,好,那接下来咱们把这个结构来看一下,这个结构呢,相对来说比较长啊,来咱们统一的看一下,来咱们找一个这个接森的解析工具啊。杰森美化。这里边儿有有报错是吧,完了,这里边有好多的,这个有好多注释啊,这个比较烦人,那我还得一个一个删一下。
04:08
这个大家稍安勿躁啊啊行,我不在这删了,我在这个这里边上要好一些啊。CTRLV,它不就是横杠杠是吧,诶CTRL这个F,然后杠杠啊,然后翻到。我这个统一的删一下。统一的上一下啊,但好像还不行啊,它这个有那什么有长有短是吧,那头往后删从哪也不好使了,这个完了还还是重新整吧,这个乱了啊,还是从这等吧,有点点删吧,让它不一般长啊呃,咱们把它解析完之后,呃,能够更方便的看一下它这个那个结构啊,那就稍稍微等一下。来把这个删了,把这个删了。把这也删了,这一删。
05:00
嗯,这个结构咱们必须得搞清楚,要不然后边没有办法解析啊。完事了,呃,诶还还有报错是吧,他说第19行,19行,19行呃,啊这个是这是个中文吧,这个啊,我换一下这回行了啊啊那咱们现在这个一个完整的页面日志数据,咱是不是就拿到了呀,这一个完整的页面啊,那咱们现在先把啊这里边先都给它收起来,来咱们看一看这里边的内容都有什么啊来好,那我现在收起来之后,大家来看一下啊,这就是我们一条,嗯,完整的一个这个页面日志里边所有的字段,对吧?一级字段有什么?有common,这就是那所谓的公共字段啊那这个是什么?Action action s对吧?有X,这action指的就是咱们那个事件或者动作,那为什么是S啊。对,因为咱们在一个页面上啊,注意这这这这条日志是以什么为单位的呀,大家觉得。注意是以一个页面为单位的,因为是页面买点日志嘛,对吧,我浏览这个页面的时候会收集到这个所有信息,也就是说一个页面一条日志,那我在浏览这一个页面的过程当中,咱们是不是会有可有可可能会有多个动作呀,对,我可能我需要这个加购物车,加完购物车之后呢,诶,我可能我感觉呃不喜欢,我还得给它剪掉啊,完事又加上,嗯,反正就是可能会有多个动作对吧?那所以说咱们这有一个actions啊,那下边呢是那个曝光display,就是曝光的意思,那display是不是也有可能会有多个曝光对象啊,所以也是S啊,也是S,然后下边这有一个配置,配置其实就是指的是页面信息,对吧?啊,然后下边error error指的就是错误信息,那TS呢,指的是。
06:41
一肯定是一个时间,这是什么时间呢?大家觉得。啊,指的是咱们这个页面的跳入时间啊,页面的跳入时间啊,是这样的啊,因为咱们这一条日志是不是以一个页面为单位的呀,啊是这样啊好,那咱们现在呢,在呃,把这个每一个字段再给它展开,然后逐一的去看一下,首先先看第一个公共字段。
07:03
工资段当中呢,就包含了咱们刚才给大家介绍介绍的有公共有什么地理位置啊,用户信息啊,设备信息等等等等啊这样一些信息,好那如果是在实际的生长而下呢,这个公共字段信息还要多啊,还有多,你看咱们今天上午看呃,那个那个电商对吧,那个页面它是不是好多信息啊,什么屏幕的分辨率啊等等都获取到了啊,正常情况下那些也都要获取的啊,基本上能获取的都获取到啊,就是说呃,我也不知道你后后边用不用,那那你万一要用呢,对吧,万一要用我要没采集,那你可能就麻烦了啊,不管用不用我都给你采集到,所以说啊,咱们正常情况下要比这还多啊,好,那往下走,下边这有一个action。啊,大家注意观察,这里边儿是什么结构啊,点开。哎,这一个什么结构啊。很显然,Action后边它是一个什么东西,方括号,这是一个杰森数组吧,对不对,这是一个杰森数组啊,它是数组啊数组那数杰森数组里边,那它里边的一个元素就是一个啥呀。
08:09
阶森数组里边一个元素,那就是一个接森对象呗,对不对啊,就是一个阶森对象,好好大家看一下,那咱们这个数组当中目前有几个元素啊。就一个元素,这是不是一个画括号,这一个画括号啊,也就是说明咱们在这个页面上只有几个动作,只有一个动作啊,动的是什么?是fair I的是收藏啊,收藏了一个这个三号商品啊上呃,SKU呢,指的就是咱们这个商品啊,后续再给大家解释这些东西啊,这个指的就是收藏的一个三号商品只有一个动作,所以说数组里边只有一个元素啊,这是关于在这个actions,那接下来咱们再往下看看谁看这个display曝光点开你注意观察它是什么结构,它也是一个数组的结构吧,也是一个数组,然后里边也是好多元素啊,好多元素在每一个元素都是啥。一个曝光对象,一个曝光对象,一个曝对下一个曝光对象对不对,是有这么多的曝光对象的啊,这是在一个页面里边所有的曝光对象啊,一个数组,大家把这个结构搞清楚,然后把它关掉好,然后往下走,下边是配置,配置点开,配置点开之后呢,这里边就是我们跟页面浏览相关的一些信息啊,比如说during time是呃,浏览的停留时间对吧?那页面的对象类型和对象ID,上页的ID什么什么的啊,这些东西啊,这是页面信息,好,那最后一个error。
09:28
Error这个字段呢,叫做什么叫做错误,里边俩字段,一个是L扣的错误码,一个是报错的信息啊,然后再往下,下边还有最后一个字段就是TS,这个指的是浏览页面的时间啊,浏览页面时间啊,这就是咱们一个完整的页面日志的结构,然后大家要注意啊,这个结构是一个最完整的结构,可能有些页面上的这个页面买点日志呢,可能是不是没有这么完整啊,比如说我可能在某一个页面上啊,哎,我没有动作。我是不是可能有些页面我只浏览不点不不干啥呀,对吧,那所以是不是可能没有action对不对,也有可能有些页面我没有曝光,比如说我那个修改自己那个个人信息的页面,是不是可能没有曝光啊,没曝光那就没有display。
10:13
啊,那我还有可能我在浏览页面的时候呢,我不报错。对不对,不报课是不是就没有艾对吧?那所以说我们这个,呃,这是一个最完整的结构,可能呃结构可能没有这么完整,有些页面啊,然后就是必须得有的,肯定有谁啊common肯定也有,配置肯定得有,跳时间肯定得有,对吧?这是必须得有的啊,肯定会有啊啊这是咱们第一种日志结构叫做哎这个曝光这个页面浏览日志。好,那接下来我们看第二种这个结构的日志啊,大家把这个讲完,咱们就下课休息会儿吧,那第二个结构呢,指的是启动日志啊,那启动日志呢,结构相对来说比较简单。来我们来打开啊,看一下来CTRLC,那启动日志相对来说结构比较简单,它主要包含了我们的公共信息,启动信息和错误信息,好,那咱们把它也是进行一个格式化啊,Ctrl a ctrl可好,那这里边儿呢,还是给它先删除掉啊,嗯。
11:12
把这个删除,把这个删除给删除。搞子。好,这个已经这个比较清楚了啊,把这个还是先关掉啊,然后大家来看一下,整体看一下这个启动日当中的几个,呃,主要的字段,第一个拷问也是公共信息,那第二个呢是start的启动信息,那这个是L报错,最后一个TS是启动的时间啊好,那点开。啊,这个点开,呃,一个一个看吧,先看common common是不是还是跟刚才那个页面里边的那些common字段是一样的呀,所以这个不再多说了啊然后第二一个是start,那start里边呢,就是包括了这个什么启动的入口,加载的时间,还有一些广告的信息,对吧?啊那这个不再多说了,然后往下走,下边是I啊I呢,也就是报错信息啊,这个错误信息启动的时候可能呃启动闪退了,刚打开就关掉了,这是报错了,肯定会啊,这是一个啊最后一个是启动实验啊,这个结构呢,应该是相对来说比较简单的啊,然后给大家说一下啊,这个日志当中,呃,是不是有些字段也是可能没有的呀,谁谁可能没有error error可能没有啊,但是公共和启动还有时间是必须得有的吧,啊是这样的啊,好,就是大家必须得熟悉这个结构,那熟悉结构之后呢,方便我们后续进行解析啊好,两类结构咱就说完了啊,我把视频录一下啊。
我来说两句