00:00
那那来到错误日志表这啊,那问他一下啊,你说这个错误日志表咱们应该主要来自于哪种日志啊,还是考虑这个问题,你考虑它先来自于哪种,完之后呢?这个表怎么设计啊,它应该来自于哪啊,哎,都有对吧?页面日志我页面浏览的时候有可能有有错误,我启动的时候也可能报错,对吧,闪退是不是,那所以说都得都得来啊,都得来。啊,那完之后呢,接下来咱们分析一下啊,这个错误日志表该怎么设计,错误日表应该怎么设计。啊,首先一行数据指代什么。干啥?一次报错对吧?啊,这个很简单啊,那我这个字段应该有哪些呢?首先公共字段错误信息这肯定都有是不是,那你说其他信息咱们需不需要保留啊,或者要留的话留哪些?嗯,首先第一个啊页面信息要不要留呢?要不要留?
01:00
嗯,得得有吧,他们报错咱得知道是在哪个页面报的错,对吧?咱们记录错误信息目的是什么呀?为什么要记录错误信息啊,那是不是就是统计在哪报的错比较多,对不对,那那那有那有错误说方便咱们定位这个问题去解决一下啊对不对啊,这肯定那页面得得有。啊,那那个启动信息要不要留呢。要不要留,因为我有些错误是不可能来自于启动的时候啊,所以启动信息是不是也要留着呀,也要留着啊,那除此之外呢,那你比如说我那个曝光信息,诶,我要不要留着。曝光信要不要留啊,其实也你要说留其实也有用,为什么呢?那假如说我就是在曝光某件商品或某个活动啊,我比你说我去后台拉取这个数据的时候,诶我每次拉取这个商品的信息,大家都都会出问题啊,都会报错,那那是不是这个曝光信息是不是也有可能跟咱们这个错误有关联呀,对不对,那所以他也应该留着,那动作要不要留呢?也应该有,你如我只是做某些特定的操作的时候,他可能会容易报错,对吧?那所以咱也得留下。
02:11
啊,那所以说呃,整体看来啊,咱们这个因为呃,对于报错这个事儿来说呢,是不是咱们所有的信息都有可能跟它相关呀,对不对,那方方便我们定位问题呢,我们这些信息都应该保留下来啊,所以说最终大家看一下啊,这张表啊,它里边的字段相对来说要多一些啊,我们来看一下啊,首先呢,第一部分黑色的全是公共字段,那这个下边红色的就是那个错误信息啊,那然后看这这是页面信息,这是启动信息,那你看下边这还有一个TSTS那个时间对吧,这个不用管。咱们主要看这这俩哎,一个是动作,一个是曝光,大家来看一下啊,这个动作和曝光咱们在这写的是什么,是action对吧?啊,这个是display。啊,是这样的啊,那我问大家一下啊,那现在假如说啊,假如说我们现在这个呢,是一个页面上报的错误啊,假如说页面上报的一个错误啊,那所以说页面上报的这一个错误啊,首先我放在这张表里对不对,放这张表里,放这张表里我这一个错误是不是就是只是位于一个页面上啊,对吧?所以说一行数据里边呢,有一个页面信息,但这一个页面信息里边,它的动作和曝光是不是可能只有多个的呀,对不对,所以这一行数据里边呢,咱们存在这种现象,就是一对多的一个现象。
03:33
对不对,就是一个页面一个错误对应一个页面,但是一个页面呢,我又对应多个动作或者多个曝光啊,存在这种一对多的这种现象,你说这块咱们怎么处理一下比较好。啊,这是怎么处理一下比较好。嗯,一对多啊,怎么处理比较好。啊在这呢,呃,其实你怎么处理啊,其实都可以啊,为什么这么说呢?啊,就是说你只要明确你这张表里这个数据啊,你比如说我我就是这么处理的,你记住你是怎么处理的,然后你下次用的时候呢,啊,你要根据你自己当初的那个处理方式,去采用相应的对策去分析这个数据啊,就是你前后一定要一致啊才可以。
04:16
啊,那咱们这是怎么去处理它的呢?给大家说一下啊,我们在这儿呢,是怎么去处理这个一对多的一个关系的啊,首先那咱们首先必须得明确第一点,错误日志表当中一行数据,那我指代的就是一个什么,就是一个错误对不对,那一个错误就是对应一个页面,那一个页面我对应多个动作或多个数,多个曝光,那怎么办呢?哎,我这儿并没有对错误数组和曝光数组做任何的解析,我仅仅就是把什么呀。仅仅就是把那个错误数组的字符串和曝光数组的字符串,我给它放进来了。啊,那也就是现在呢,我们是什么呀,最终是一个动作,实际上对应的是什么呀,是一个错误数组啊,以及一个曝光数组。
05:02
啊,OK,我这么存啊,我是这么存的啊,那我要如果是这么存的话,那你说我后期我要想去分析啊,假如说分析分析什么呀,分析我看一看我报的这个错误是跟哪个动作相关的,那你说咱们这能直接分析吗?这个数据能直接使用吗?啊想分析一下,哎,比如说某个错误,那具体是跟哪个动作哎相关的。这个能能用吗?直接用吗?那肯定用不了,为啥?因为你现在是一个动作对应多个,不是一个动作是一个一个错误啊,一个错误对应多个动作对吧?啊在一行里边,这肯定没法分析,你要想分析你得怎么样,是不是得先把这个动作数组扎开对不对,用谁的。那就用我们刚刚自己写的那个函数,是不是就能炸呀,它本身就是一个阶的数组字符串嘛,啊,咱们就能炸,那炸完之后那会变成什么样的效果呀,应该是一个动作。一个错,一个错误一个动作,一个错误一个动作啊,一个错误一个动,是不是这样的呀,对不对,你把它炸成这种格式之后,那你再去分析咱们这个,呃,具体的错误,哎,跟某个动作的这个关系,那就好好去这个分辨了啊,那简单问一下大家,你说我现在想分析某一个具体的错误。
06:18
啊,那它跟哪个动作这个有关,你说你这个词会咋写呀,怎么分析啊这个。多可惜啊。其实你就看一看啊,看一看什么呀。看一看你在做这个,在报这个错误的时候啊啊啊,都是在做哪个动作,或者做哪个动作比较多,那是不是就可以了呀,那这是怎么做啊,假如说你先把那个具体的错误先找出来,比如说我就要分析这个错误,那是不是首先你得先从这张表当中把这个具体的这个错误的数据先过滤出来呀,对不对,过滤出来之后呢,按谁分组。是不是按照咱们那个动作分组啊。对不对,因为我现我现在已经把这个具体的那个错误已经过滤出来了,回来之后是不是所有的这个报错信息都是一个错误啊,对不对,那后边呢,是啊,跟这个错误相关联的一些这个动作,那这时候我就怎么做,我直接按动作分组呗,对不对,那分完组之后进行。
07:15
Count环心看它啊,那你那个countt的值越大,那就说明什么,你这个动作和该错误的关系就越强,实不上是这么一个思路啊,啊大致就是这么个思路啊啊OK,其实就是啊这样去做,也就是说你后续咱们这个数据,我虽然现在这个数组我并没有进行这个解析,没有处理啊,但是你后续你要用的时候呢,你得记得把它,诶给它炸开,炸开之后呢,再去分析啊,必须得保证它是一个错误一个动作,一个错误一个动作,一个错误一个动作之后呢,你才能正常的解析啊,才能正常的统计啊好,那这个就是呃,咱们这个错误日志表的这个处理方式啊,处理方式好了,那建表语句咱们拿出来啊。Can I say。
08:00
那微啊放在这儿,呃,那放在这儿之后呢,我们看可以看一下这个文档当中的这个这个说明啊来这个红字,这红字呢,其实就是刚才我给大家解释的这个事儿啊呃,此处未对动作数组和曝光数组做处理,那如果说后期想要分析某个错误与单个动作呃或曝光的关联,那此处呢,可以先使用啊explode杰森array将咱们这些数组炸开,然后呢再使用get杰森啊不是函数去获取里边具体的值啊,然后再去分组统计就可以了啊,是这样的啊,就是说你后续用还得需要把这俩字段呢给它炸一下。啊好,那这个不再多说了啊,那接下来看一下最终这个呃导入这个呃表的这个circle啊导入表的circle这很简单了啊,因为我们没有对那个数组进行处理,所以说这块呢就比较简单了,是不是直接get就可以了,各种get结算object就完事了啊那这个circle呢,我就不再敲了啊,这个比较简单啊,CTRLC先拿出来,然后呢,放在这个位置,CTRLV。
09:02
那这块咱们就相当于搞定了啊,就是这么去写这个字啊好,那视频呢,我先录一下。
我来说两句