00:02
OK啊,呃,那我们工具队有了,工击队有了以后呢,会接下来就回到这里面了啊,那回到这里面的话呢,我们是需要什么呀,按照天去分割索引的,所以说我们需要什么,先把这个呃索引模板给它创建好啊,那这个模板的话呢,呃,这个模板的话呃,我们是不需要手动去写的哈,我给大家提供好了啊。好在这啊行,这就是我这个索引的模板啊,我把它拿过来。拿过来啊,拿过来。好看RC啊行拿到这里面啊来,这是我们的这个日活啊,啊日活宽表的这个模板啊。宽表的这个模板啊,OK,放到这看一下啊。呃,那我们这个模板的话,我们就叫就叫什么gmail DA in for的一个什么template,好,然后你这个index pattern的话呢,呃,Index pattern的话呢,你就就叫什么gmail DA in for,然后呃,这个为了不冲突吧,好吧,为了不冲突,我还是给上一个1018,那行吧,我还是给上一个1018啊,然后呢,将来后面的话就是拼接你的这个日期就完事了啊。
01:12
那行吧,拼均值日期啊,OK,行,然后这个塞里面我们放的什么S里面放的就是你的S的个数啊,当然这个地方你就什么我们教学的话无所谓啊,我就随便写了个三个啊对吧,你要觉得多了,你就改成一个。是吧,都行啊,我就给了三个啊,然后下面是我们这个别名啊,别名的话呢,我们有一个当前所有的名字,加上一个query,这是一个别名,然后还有一个统一的别名,统一的别名我们就叫做。呃,Gmail这个in for gmail1018吧。好吧,1018,好,1018,然后呢,DA for all,这是我统一的一个别名。能听到吧,同一个点名啊。好,然后接下来,呃,我们就可以干嘛了呀。是不是写他这个mapping了呀,那你看mapping里面就写的你的各种字段啊,应该对应的是谁啊,对应的是我们的这个deal info啊,对应的是我们的这个deal info。
02:04
就你这里面有什么字段对吧,那我要什么挨个去定义出来,你看你的midd什么类型,你的UID什么类型,你的promise ID什么类型,你的channel什么类型,你就挨个去定义啊呃,这里面应该有一个是。就是long,就是那个什么doing time哦,还有一个是那个什么TS,我们定义成了一个什么类型,其他的都是一个keyword,因为你这里面你看一下是不是都是字母串呀。对吧,都字母串啊,所以说呢,呃,我们就什么都定义成什么这个keyword了,因为我这些东西呢,也不需要你去做什么做这个分词匹配。理解吧,啊,都是keyboard啊行,呃,这个我不再给你挨个看了啊,那我们把这个模板呢先建好。好建好了啊,建好模板以后呢,一会儿你就什么在创建索引的时候,你要根据这个名字,根据这个匹配规则来去创建了啊来接下来我们就回到代码中怎么写呢。那我们数据我们就不能再去打印了啊,我们就什么直接叫什么呀,叫这个dau for stream,我们叫什么行动了吧,行动那就什么for r DD啊,这个里面给我传过来的是一个。
03:09
这个这个叫什么叫RDD对吧,那我就把RDD拿过来,RDD里面干嘛呀,我们现在要把你的数据呢,写入到你的ES,但是呢,我人家ES这个里面要的是一个这个格式的数据啊,要的这个格式,那你要把数据的处理成这个格式,那目前来看的话呢,我们这里面的数据是什么格式的呀,这个RDD的数据什么格式的呀。它里面是不是就是一个deal in for呀。对吧,它就是个deal INF for啊,所以我们要把这个RDD作一个什么,这个作为一个for的操作啊,那我就for,呃,For这个无所谓了吧,Forage和forage partition无所谓了,因为我们也不用,呃,还得forage partition啊,因为还要外联的,对不对,还要外联啊,行,那我这个for partition的话呢,这里面给我传过来的就是一个对吧,那就是DA info的一个it t,好,那我现在干嘛呢?我就要把你的这个整个DA info做一个什么结构的转换,你看了哈,Deal in for。
04:04
It t,我们做一个结构转换,我调一个map。对吧,那我map的时候,你给我传过来的是一个什么in for DA in for啊啊诶错了啊,那我把它整个结构呢,处理成什么,处理成一个DA for的,注意啊,我们要的结构是这个结构。是吧,我们要这个结构啊,这个结构表示什么意思呢?就是你的前面这一个是你的M,就是你的那个什么叫做dock ID啊,后面是你具体的数据啊,行,那你看一下我们现在这个日活的话呢,我们之前都是什么通过你的mid做了什么驱动操作,对不对,那将来我们统计日活也是基于这个mid来去统计,所以说我就把你这个DAO中的那个mid当成我的。Do ID这样的话呢,你有重复的数据对吧,只要你的mid是相同的,OK,那为什么将来都会什么通过密登写,然后呢,最后只给你保留一条数据。对吧,然后后面就是直接什么deal ino就可以了,就是我把它的结构呢,做了一个转换,好,那我结构做完转换以后,我把它接收回来,你看一下啊呃,还不行,那我就什么讲这个toist一下。
05:10
好,这就是我的这个叫做DOS吧。那你看一下这个玩意儿。跟他不就满足了吗?那满足以后我就什么直接调用ES来注意啊,就是写入到ES中,写入到ES中,好ES中那怎么写进去啊,那不就是什么my ES us加什么save,直接什么box save。对吧,你还差一个这个差一个说银的名字啊,那所以的名字的话,呃,所以的名字我们得准备一下啊嗯。所有的名字准备一下,怎么准备呀?所有的名字来写一下啊,呃,那就是V,我们叫index name这个名字的话,我们正常应该就叫什么叫怎么,然后呢,DAUDAU,然后呢,下面info_1018,然后再下划线,后面应该是我们的日期了,对吧?因为你是按天去做这个索引分割的,所以说呢,你的每一天的数据应该要怎么写到对应的天里面,那关键就是这个日期我们怎么去获取。
06:20
啊同学们这个说一下啊,如果是如果是这个真实的这个实时环境啊,实时环境,然后呢,直接什么获取这个当前日期就可以了啊,直接获取这个当前当前日期啊即可,呃,但因为我们是模拟数据啊,因为我们是模拟数据啊,因为我们是模拟数据啊呃,模拟数据的话呢,我们会会生成什么,会生成这个不同天的啊,不同天的数据,所以说你就不能什么直接获取这个当前日期,比如说我生成的是3月27号的数据,那你到了这地方执行的时候呢,你直接拿的是当前日期3月28号,那你的数据就写错了。对吧,所以说我们尽可能还是从你的数据里面去拿啊呃,那我这么来去写吧,我判断一下啊。
07:05
如果说你的这个dogs。它的这个长度大于零对吧,就是我还正好做一个判断,九万一说你这个转换完成以后呢,发现我我没有数据,那我没有数据我就不写了呀。对吧,没数据我就不写了啊,如果你有数据我就写啊,那写的话呢,我就把这个东西呢,给他拿过来放到这里面,那我这个索引名字我怎么去处理啊,我这样既然你是保证有数据的,那你当前过来的数据肯定就是你这个我们自己生成的数据,对不对,我们自己生成的数据啊,那它是一天的数据,那我就什么把他的第一条数据拿出来吧,你看我们这样啊,从第一条数据中啊,从第一条。数据中,然后呢,获取这个日期啊,这个获取日期怎么获取呢?那就直接到斯叫head,这不是第一条数据吗。
08:01
对吧,但是它拿出来以后呢,是一个呃,这个格式的啊,那我们要在hide点下划线二的日期叫TS。这本拿到了吗?对吧,拿到以后来接收回来就是那个TS啊,但TS还不能用啊,我们要的是一个年月日啊,说你要把这个TS呢,给它转成一个年月日啊,那我们还得再去写一个东西啊在。呃,在哪写呀,啊,就在它里面写就行了啊,它里面写吧,来,那我们就用上一个simple date for match,好,YYYY杠,MM-DD好接收回来,这是我们的SDF啊行,然后呢,你在什么这个SDF点这个format format的时候呢,用上一个data,把这个TS搁进去,好,这是我们的这个叫做data s,行,那你在什把它拼到这就Dollar的什么data。诶,到了。Data s tr对吧?这样你的手引不就有了吗?那首引有了以后你就什么来,Index name往这一放,后面就是你的DOS。
09:08
对吧,这就把数据写进去了。然后呢吧,我们也是啊,封装了一个工具类,然后呢,把这个数据呢,给他正常写进去的。OK吧,来我们测试一下啊,看看这个到底行还是不行啊,呃,那这个测试的话,我们需要把这个都启动起来,那我还得先骑我的这个。机群啥的啊,我现在只有一个ES啊,别的没有起哈,那我需要起一下啊Z k.SH啊9K起一下。主K起了以后呢,我们再去起这个卡不卡啊,卡布卡起一下,呃,那你日活的话呢,呃,这个也得起是吧?好serve,然后呢,我们指定一下o VT module买red,呃,1018,然后呢,red.Co。好行,呃,那把这个都起了,起了以后呢,我们呃。
10:00
就可以测试了,因为他用不到那个maxcel啊,但是一会还得用,那我都起来得了啊啊都起了啊呃,直接什么并这我应该写个脚本好了是吧,好写一下啊来查一下。对吧,现在应该都有了啊,那都有以后的话,我就可以正常起我的这个任务了啊,你看一下那我先起谁啊,我先起这个上游啊,上游是你的base OS spacelog啊,上游起起来。好,稍等啊。这个第一次起就比较慢啊,好,上游起来了,上游起来以后呢,起这个下游啊,下游起起来。
11:06
好,上游已经可以了啊,然后这个下游我们等它这个有打印的啊,有打印以后呢,我们再去做操作啊。呃。我还差点东西是吧,没有去提交那个opposite,一会再来提交吧。行看一下啊,这个应该是,呃,那我这样啊,我先把它停掉吧,就我们还差点东西啊,就是你没有提交opposite对不对,那这个提交opposite的话,我们怎么提交啊,同学们是不是你的每个批次提一次呀。对吧,每个批次提一次啊,那就是在这个RDD里面啊,在他这个做做这个for part之前啊,就是在你的这个位置啊提交。这个地方啊,去提交我们的opposite啊,对吧,来就是my opposite yous讲什么叫做save save的时候把你这个topic给拿过来,对吧,把你的这个group。拉过来,然后后面就是你的opposite ranges对不对,这样就可以去提了啊,之前我们一直没有提过,现在可以提一下了啊行来重新提一下。
12:04
一套都把它测通了啊。好,这就有提交了,对不对啊,这就提交了啊行吧,那接下来我们就可以呃正常的做测试了啊,那这个测试的话呢,我们就给它生成一波数据啊,回到这里面来生成数据,我们叫Lg.SH给个时间啊2022杠。零三杠二八对吧,走起。好,那现在我就开始跑数据了,那你这个地方跑数据的话呢,应该对应的在我的呃,ES中啊,将来就会出现一个索引,然后它里面就会有数据啊,我们等他这个数据跑完的啊,等数据跑完的。呃,他还在跑啊。
13:02
还没完善啊。好跑完了啊,那数据跑完以后呢,你看一下啊,我这个代码中应该应该也是有一些效果的啊同学们。之前是有这个过滤效果的吧,对吧?哎,一直到最后你看一下,现在应该就没效果了啊,再往后没了吧,好,那这个时候你就可以到你的ES中去查什么呀,是不是查一个索引就可以了呀,来查一下索引啊盖是什么呀,我们叫gmail,然后呢。Dear for。呃,1018下划线应该写我们的日期啊,2022杠零三杠。二八对不对。Search好查一下。呃。没有吗?准备啊,我是不是写错了呀,没写错吧,我看一下啊。不能写错啊。哦,还真写错了,你瞅瞅,写了个jam。对吧,写了个jam啊,那我得改一下啊,好,但是呃,这个错就错了吧,来这个一会再改啊,那现在我可以把这个地方我可以怎么正常去查一下啊,应该是jam哦,那还不行,你这么写的话,他这个没有用上我们那个模板对吧。
14:12
对吧,那这个数据肯定是写进来了啊,数据肯定写进来了啊,那这样吧,我们这个不要了,把它删了吧,那这个不要啊,刚刚写错了啊。干掉不要了啊,来重跑一次数据啊,那你看现在我把它改过来啊,改过来以后呢,我们。呃,没写错吧,准mail DA in for啊,来重启一下啊。嗯。好,等到这个重启起来以后呢,我们这个重新跑一下数据啊。呃,那重新跑的话呢,为了能够这个正常多跑一些数据,我把这个我得这样做一下啊,我把今天已经记录的那个日活的那个什么m mid给他去掉啊。Kiss啊,然后叫dau行对吧,把这干掉啊,要不你它里面记录很多了,你就进不去的数据啊DL把它干掉好,干掉以后呢,它就没了啊,没了以后呢,我们重新跑,就相当于我是今天什么第一次跑出去对吧。
15:11
要不它里面记录的越多,那我的数据呢,都被什么过滤掉了,过滤掉以后就没数据了啊来,我们再跑一下数据。啊,我不知道你们还记不记得这些东西哈。反正我们都是从头。一层一层这个研究过来的啊,这个至于你还记不记得,那就看你这个下去以后有没有好好的去琢磨它啊,有没有好好去写了啊,行吧,等着看结果吧啊。这个数据已经过来了啊,已经有效果了啊,数据开始过滤了,对吧,开始过滤了啊。好,开始过滤啊,没问题。好,马上结束了啊。行结束了啊,那结束以后的话,我们就回到这个ES中去查一下啊,那这一次我就。
16:01
查正确了就行了啊叫gmail。对吧,应该就他了啊来走一下,你看一下吧。呃,总共有128条数据,你看这就是我们写过来的数据。能看到吧。那我现在什么正常把它这个写入到ES中了,那接下来呢,我们就可以什么基于这个数据呢,诶去什么做这个分析了,比如说你要统计日活,你就什么从它里面去出你的数据就可以了。理解了吧,从它里面去出数据啊,就完事了啊好呃,行啊,这是我们的这个。嗯,这个写入ES啊,这是我的日活宽表,写入ES就完事了啊,行,停一下。
我来说两句