00:00
呃,这边呢,要使用测输出流进行分流的处理,那既然用到侧输出流。那这个算子的选择就简单了。对吧,既然你都用到测数直流了,那我没办法了,我只能用process对吧,其他的也没办法用写测殊流啊好process方式啊,输出结果呢,咱们可以写这个。呃。对吧,因为未来呢,我们将数据要写到这个。卡夫卡里边了啊,那这边呢,我完全可以写这个string,当然呢,你写。接送对象也可以,那你在写到考法之前,你做一个转化呗,对吧?啊,当然呢,我们就写一个思令就得了啊。写个四倍好,那这个呢,要用测出流进行分流,那我们要分五个流。对吧,所以得有四个测出数流的标记,对吧,那这样咱们呢,把页面日志放到主流可以吧。
01:02
把页面日志放到主流。啊,然后其他的放到测速流,比如说这个启动。曝光对吧,但是这个随便啊,对吧,你随便挑一个放主流,其他的放到这个厕所里就好了,错误放到。这个侧输出流OK吧,呃,那我们前定义一下,因为我们要写这个标记啊,对吧,另有一个out,然后呢,这个地方我们也是S密码,大家都同意。这边呢,我们叫start。找到一个startup。T啊。好,我把这玩意儿呢,再复制三份,稍微的改一改。三对吧,然后这里面呢,我们放display。然后这个标记呢叫display,这个呢我们叫action。然后这个标记呢,咱们叫action。
02:00
最后一个呢,放A。对吧,那这个呢,咱们叫I。可以吧,啊,咱们就用这样的方式。啊来做处理对吧?好,那接下来呢,我们要去判断它到底是什么数据,然后呢,分别写到不同的位置。对吧,好。那首先你要清楚,这里面有一个东西比较特殊。这个数据啊,大家呢,在离线收仓都接触过,可能对于里边的结构有一点忘了,但是没关系,我们来看一下啊,首先是A这个呢,我要单拎出来,为什么呢?因为。他在启动。还是那个,呃,页面它都有。啊,他都有,或者说我们跟他说一下这五种日志的。情况对吧,啊,五种日志这个啊。拿过来。这五种日志呢,首先。他俩启动跟曝光。是互斥关系。
03:01
你要知道。启动与包,呃,不是启动与页面,它俩呢,是互斥关系。啊,什么叫互斥关系?啊。何为忽视关系?他们的数据应该长这样子,对吧,我们如果说把它分类搞清楚,启动与页面是忽视。非你即我。啊,就是不是启动,那就一定是页面,那不是页面一定就是启动。那有的人说,你置我错误于何地?错误日志。对,不能共存,不会共存,对啊,那错误日志跟他俩是共存关系。啊,错误日跟启动跟页面是共存关系,对吧,就是我可能是启动的时候出错了,也可能是访问页面的时候出错了。而曝光与动作跟页面是什么关系?是包含关系。
04:02
听懂。啊,是包含关系啊,那也就是说我们的数据呢,分为这几种。对吧,错误。跟启动与页面。它是共存。啊,启动于页面互斥。而页面跟曝光和动作之间。四。包含关系啊,当然有同学说,那他俩呢,他俩没什么关系,可能共存,可能在一块。对吧,啊有有时候呢,我既有曝光又有一些动作啊,有时候呢,只有曝光,有时候只有动作。啊,这就有可能,反正你要知道它是包含关系就行了,所以呢,我先处理谁啊,先处理错误的值,把它择出来对吧?摘出来以后呢,我可以启动判断启动,如果不是启动,那就一定是页面,页面里边我再去分析曝光的动作是不是这个逻辑啊。对吧,好,那我们来看啊呃,搜一下。
05:06
完了,我这里边还没有error日志,哎,不应该啊,我是把error日志删了吗。那我要找一个啊,找一个L日,L日确实比较少啊。看有没有这个运气能拿到这个error啊。错误呢,它应该是一大堆那个什么exception对吧。嗯,我是无意中把那个剪切出去了,因为我之前做什么测试的时候做了一个剪切,我本来准备的数据都有啊,所有的可能性都有。这个还没有。呃,这个这样找还不太好找嘞。
06:04
嗯。这里边儿。因为错误日本来造的概率就比较低,大家知道吧。就是我们的AR数据啊。嗯,为了等会,哎,这有一个这这这ER看见没对了啊,我我把这个拿到。有这么一条就够了,对吧,我就给它放在这呗,我给它放这啊,那它里边呢是ER,而且呢,这个是跟谁共存的。启动你看有错误有启动对吧?啊,当然了,你咱们在网上找应该还能找到跟这个。页面日志在一起的啊,但是呢就不太好找,因为错误日志它本身的概率就比较低,你不能说一个软件里边你出来的日志竟是错误日志不太合适吧,我看这个,哎,这个应该是是一个页面啊,来看就看。
07:00
而且它还是一个动作呢,对吧,那我把这个放在这儿啊。还这你看这个当中呢,它也有一个什么。ER。ER,对吧,错误日志啊,当然呢,它是跟谁共存的,跟这个配置。对吧,上面这个ER呢,跟这个start,哎,所以都有,所以我们说的是共存的,那我们先处理这个ER对吧?好,那第一个。这就简单了,对吧。它的数据这个ER啊,是最外级的标签啊,你看它是跟这个什么呢?跟这个大平级的啊,跟这个start平级的,因为你看我把这个大括号,我我把公标放这儿,这有一个橙色的下划线,大家能看到吧。就是我不知道你们能不能看清啊,这个地方有一个橙色的下划线,能看清吗。就比较细。能看见吗?可不可以?可以是吧?那说明什么呢?模糊可见是吧?那说明这个括号跟这个是一组对吧?那是不是言外之意,这个AR跟这个start是一个什么?
08:10
是同级的,或者说呢,简单一点我。这样吧。不搞那么麻烦,让大家那么辛苦对吧,看啊一二的拼级的吧。对吧,所以它是最外层的一个标签啊,最外层的一个标签啊,好,那接下来呢,我们就。叫尝试获取。错误信息对吧,那就Y6点。Get,那咱们呢,直接get就得了。叫一二。对吧,咱们获取一个ER,好,CTRL调V得到一个。I数据好,呃,大家来判断,因为为什么叫尝试获取呢?因为它可能不存在对吧,那ER。如果ER,它不等于钠。啊,那如果它不等于那。
09:03
对吧,那。咱们。怎么办?写到。测除出来吧。将数据。写到叫A。测数数零错误,测数零对吧,那测数零呢?用cx.output用这个AT。啊,然后数据呢。是。Value点。To Jason string,因为我们用的是string。对吧,那咱们错误就解决了。这个数据就搞定了对吧?啊搞定以后呢,这边你就看,因为你这个东西是一个错误日志,但是同时也是一个什么启动对吧?啊同时呢,你也是一个。页面你同时也是个页面,那我还得保留正常的这个信息,对吧?啊,那正常信息呢,嗯,错误我就不要了,我就不要这个错误了,对吧,好,那这边呢,加一个。
10:05
移除。错误信息对吧?啊,那就是Y6点为目。第。我管你有没有,反正呢,你要有我就给你移除掉,没有的话无所谓对吧,当然你说那我把错误也信息也放到start里边传出去,可不可以也行。啊也行,但是呢,一般来说你这个错误就不往正常数据里边写了,对吧,我们也可以把这个信息移除掉,然后接下来处理其他的,好,那我们先说了,我们的启动跟这个页面它俩的互斥。且页面可能还会包括其他的东西,对吧?所以呢,简单一点,我们先获取start对吧?好,那还是一样的,尝试获取启动信息。啊,跟上面一样,那就value.get。
11:00
Start ctrl加V得到一个start if start,它不等于long值。Else。对吧。好,那比如说咱们。这样的方式。对吧?好,那如果不等于呢,那我们就将数据写到什么启动大的特殊量。好,那否则。我就可以怎么样。写到。配置啊,但是配置里边呢,我们来看啊,它就不光是配置,它有可能action,那我们是不是想着把这个action给他。干掉,然后呢,把这个place给他干掉,然后写出去更干净一点啊。对吧,我们的数据就会更干净一点啊,所以呢,先不着急啊,先不着急对吧,好,那我们把这个先搞定啊,写到测数流,那这个呢,就是ctx点。
12:05
Output。嗯,然后呢,这个是startup对吧?啊这边呢,写的是value点。Jason,诶,把它写出去。好啊,那这边呢,一定是什么。是这个表示是什么。页面日,因为我们说了互斥对吧,If else,它是互斥关系,所以呢,那也就是说你把这个呢也写到。页面制呗,对吧,好,页面制是主流吧,那就out.connect value点。To。对吧,把它写出去。啊,但是呢,我们知道这个页面日志当中,它有可能会有什么。会有这个action。啊,会有这个place,那这个呢,Actions displayce,我是单独处理对吧,那在页面日志当中呢,我就可以不要了。啊,我就可以不要了,所以呢,在写出之前,我们要做个什么事,做一个Y6点为目啊,一个呢叫。
13:01
曝光对吧,把这个拿过来。好,CTRLD复制一份,还有一个呢,叫actions,叫动作对吧,把它拿过来。对吧,好,这个呢是。叫移除。曝光。和动作数据。And写出写到主流。对吧,啊,写到配置就是页面。信息的主流对吧,页面信息主流好呃,那咱们这样写。接下来呢,你这个数据是不是很有可能会包含display action?对吧,那我们还得把这个曝光和这个动作给他干什么,把它提取出来吧,你比如说我把这个数据再给他看一下啊,就这个对吧,这个它只刚好都有啊,他两个都有。
14:07
这个是不是太长了,那咱们这样啊,我们干掉一点掉place不要这么多,我们保留两个可以吧。嗯,Place保留两个啊。这个。A arrow,留着就留着吧,动作呢,动作里边好像只有一个对吧,这个数据呢就会。少一些吧,来。我定在这啊,这样的话大家好看一点啊,A是不是也可以不要啊,A给他干掉啊,因为最终呢,我们肯定就不要啊。一直到这个配置啊到这儿。行,那这样的话我们就精简一点啊,尽量的精简一点对吧。C拿过来啊,定在这儿,诶,这是咱们的一个数据啊,啊,那我们作为一个页面数据啊,作为一个页面数据,它很有可能会有这个display,会有这个action,所以我们才需要做这个操作嘛,对吧,把它移除掉,就干干净净的只保留common,加这个配置加TS,因为TS呢,很有可能我们下游聚合的时候要用到事件时间,所以TS肯定要保留,对吧?好。
15:15
呃,那我们还要尝试获取这个动作跟曝光,而且注意这儿呢,为了写到页面日志,我把这两个移除掉,所以你的动作跟曝光一定要在这个之前。你不能在这后面去获取没了,因为移除了对吧,所以呢在这。叫城市。获取曝光数据对吧?我们尝试获取曝光数据,好,OK,那就是value。点。Get杰森注意。无论是曝光还是这个动作,它是一个什么数组,看见没中括号啊,所以呢,咱们获取的是。这个然后呢,把它。
16:01
放进来。对吧,啊,咱们叫尝试获取,因为不一定所有的页面日志当中都有这个曝光,这个不好说对吧,所以我们叫尝试获取。好,那我们要判断这个if什么。嗯。我想想看,如果它没有的话,它是那值对吧,我们得这样判断啊,If display。它不等于那。啊。并且。爹。Size。大于零啊,那第二个判断呢。哎,这个怎么写到这里边儿来了。这个写在外面去啊,在这啊,啊为什么有第二个判断呢,就防止出现意外嘛,假如说诶这个地方呢,有这个标签,但是呢,它是个。空的。它就是一个光数组对吧,就这里边没有这个,没有这个空的,那你就等于零,那我也不要对吧,那这个等于,那说明什么问题呢?你压根就没有这个标签,它就等于那对吧?好,那不等于呢,且大于零,说明呢,有数据,那有数据它是个数组,那我是不是应该一条一条的写出去。
17:17
对吧,你这个时候就不要把它当做一个整体写出去了,那曝光数据我们应该一条一条的写出去吧,好,那我们就遍历写出啊。便利。曝光数据。看到。写到这个display。测出出六对吧,我们写到这里边啊呃,那便利呢,你是个数组,那我们就简单一点,用负I循环对吧,然后呢,Place。Size对吧,做一个循环,然后。Get。哎。好,这样的话,我们就得到了一个display。
18:03
就得到了。Display对吧,一条一条的数据,然后接下来呢,我们就要把这一条一条数据呢写出去啊,那怎么写呢,这个就简单了,我们都写过了CDx.output对吧,然后呢,把这个display。Tag放进来啊,然后呢,这边写我们的数据,我们的数据呢,写的就是displayed,注意不要写value,不要写value了,对吧。爹。Two three。啊,我们就把这点东西写出去,但是大家有没有发现这玩意儿好像。太少了。缺东西,大家想是不是?是不是缺东西啊,你光有这玩意儿,好像未来也不能分析,你连公共字段都没有,我都不知道是谁访问的mid对吧?手机型号都没有,所以呢,在这个之前我们给他补一点信息。啊,补一点信心对吧,好在这边。我补什么呢?第一我把common给他补进去。
19:00
对吧,把他给他补进去,就告诉我未来我可以根据这个做维表啊。对吧,做维度各种渠道分析啊,对吧,我们要根据渠道啊,根据什么东西去分析,对吧,来看在哪个平台曝光的数据比较多,看哪个人点的更多,对吧,类似于做这种分析第二个。时间出个总要吧。我要看一个商品对吧,被曝光了多少次,我要开窗处理呢,我要按十件时间开窗呢,所以TS肯定要对吧,还有一个我们再放一个配置ID吧。就是到底是哪个页面曝光的这个数据,对吧,我们跟页挂钩OK吧,所以呢,我们放common,放配置ID,放这个啊好,那我们要获取。公共。信息。And。页面ID。And时间戳。Value。点。啊,那直接get就好了,Come。
20:02
Come y6点。Get object。那咱们呢,先获取配。然后再获取配置ID啊,因为配置ID在哪,在配置里面。在这儿。对吧,所以先获取配置整体,然后再获取配置IDOK吧,好,那这边呢,配置。ID对吧,不要写错了啊,那咱们呢,得到这个配置ID啊,最后一个获取时间戳value.get now对吧,T。得到TS,接下来呢,把这个东西放进去啊啊,那就display。点。那我们帮你放东西对吧。Put common。呃,就是那点铺的。然后配置ID。最后一个。
21:02
时间戳对吧。对吧,我把这个放进去。啊,那咱们的曝光也就搞定了,好,那剩最后一个动作,那你看啊,动作这个东西跟我们曝光有什么区别吗。没有区别对吧,所以呢,简单啊,那我也不封装方法了啊,我就不封装方法了,我就直接把它粘过来可以吧,然后呢,这个我改一下,尝试获取叫动作数据对吧?这里边改成谁呢?叫actions,诶这actions对吧?A不等于呢啊这个注意啊,都要去改一下。大家改一下,这个呢,咱们改个名字叫action。好,有一个地方不一样,这个东西呢,我们就不要了啊,为什么不要呢?因为动作数据跟页面数据跟这个曝光数据不一样,它本身就有这个什么。时间戳看见没对吧,所以唯一的区别就在于这儿我们给它干掉了啊,大家粘过来的时候一定要注意一下,你不要漏改了啊,你不要漏改了,你漏改了完了对吧,那我们看一下啊actions对吧,选中诶这个都是actions没有问题,然后这边返回对象是action,然后呢,获取的都是action啊这个要改啊差一点。
22:20
这个标签我们不能往display去写,肯定往action写,对吧,如果你往display写完了。你不完了吗?对吧?啊,那这个得改成action,现在应该没有问题了吧。应该没有问题了啊。就认为没有问题了,如果说等会action没有没有数据对吧?啊,那我们就看一下它是不是这个地方有哪个地方没改掉对吧?啊,因为像这种粘过来改容易漏改东西啊,容易漏改东西OK吧,好这块呢,就搞定全部搞定了啊CR加V咱们这个是主流对吧,主流呢是配置。DS。
23:00
对吧,配置DS好。
我来说两句