00:01
啊啊呃,那么咱们今天呢,呃,或者说今天加明天一点啊,如果今天没讲完的话就都讲完啊,算是我们这个整个实施项目里边最重要的一天啊,就说我现在就如果说是划分难度的话,你们现在再回回过头去看咱们这个日活,你会感觉这个代码还有难度吗?应该应该还好是不是,然后呢,再看一看咱们现在这个首单对吧?这个首单呢,对,其实呃,做维度关联的时候呢,可能诶这个考虑的稍微多一点,对吧?那么今天呢,咱们主要给大家介绍什么呢?就是我们这个实物分摊了啊食物分摊,呃,那么这个实物分摊呢,这里涉及到的对吧?一个是我们实物分摊它的一些我们的计算方式,那么另外一个呢,它还有一个双流照的对吧?这样的一个知识点对吧,那么所以说呢,今天把我们这个内容比较重要对吧,那么在讲今天内容之前呢,我们还是啊老规矩对吧,把我们前面讲的东西简单给大家。
01:01
是吧?回顾一下,那么到目前为止,我们在实时这里边呢,那其实我们一共做了两个需求了,对吧?完成两个功能,那一个呢,是我们的日活对吧?那另外一个呢,是我们的首单对吧?那么这两个其实呢,是比较有这个比较这个有代表性的啊,那么如果日活呢,那么它其实处理的是我们日志吧这样的数据,根据日志来做统计,那么如果首单的话呢,那么这个时候他其实是根据我的业务数据是吧?从数据库里面查出来对来进行统计的,对吧?呃,那么咱们现在除了我们这个业务之外呢,那给他建了一个框架,我们这elect search对吧?那么这个elect search呢,它主要是做啊这个全文检索的啊,或你说它是一个数据库对吧?这也行啊吧,这也行是吧,那么具体我们现在在我们这个日活里边或在首单里面做哪些功能对吧?日活就不带大家回顾了,那咱们直接看我们这首单对吧?那么在首单里边呢?那么咱们呀,所完的功能,那其实可以围绕着我们现在这个图来。
02:01
说那么首先呢,第一件事对吧,那我们得把这个数据啊给他采集到,那么怎么样去采集数据呢?这个数据本身对吧,它当我去发生我们的业务的时候,对吧?那么这个时候它是写到我们这个MYSO数据库中,那我需要呢,我的同步过来,那么通过什么来同步的,通过我们的can,或者是我们这个mawa。来做一个数据的同步,对吧?来做数据的同步,然后接下来呢,那么咱们现在把它拿到我这卡夫卡里边来,对吧?拿到卡卡里边来,那么在卡卡里边,那一开始它是把所有的咱们当前数据库表率性能的变化都放在了一个主题中,对,那这样的话呢,不利于我们后续操作,所以说呢,咱们在这儿做了一个我们的一个分流啊,在这里咱们做了一个分流,然后呢,根据表名将这个不同的数据啊放到不同的一个表这个这个对应的主题领去,对吧?那么这块呢,其实就是我们的ods层的它的一个实现,然后接下来,那我现在呢,那比如说我要想去统计订单相关的内容,对吧?那么这个时候呢,那我需要从我们ods层它对应的主题中,然后把咱们订单的数据啊给他拿过来啊,把订单的数据给拿过来,对吧,然后接下来那么我现在呢,那如果要想统计个其他的省份的信息,那你需要从咱们这里把省份的信息给拿过来,对吧?那接下来我们现在啊,要想去做我们的首单分析的话,对吧?那么。
03:23
它有不同的一个维度对吧?它有不同维度,比如说按照我们的地区对吧,比如说按照年龄对吧,以及按照咱们的性别来进行统计对吧?其实目前呢,同学们这里呢,其实有一个问题啊,期实这有个问题,这是学生的咱们同学给我的反馈回来的啊,其实这里有一个什么问题呢?大家想一想啊,咱们现在呢,在统计的时候,我要想去这个按照什么地区啊,或者说年龄段呢,或者说是我们这个对吧,这个性别来这些维度进行统计的话,那么本身订单里面是不是没有这些东西啊,它是不是得和咱们维度表进行关联呀,对吧?那么这个维度表那么一般它应该是在我的业务实时表之发生之前,它的数据就有的,对吧?那咱们是怎么来处理的呢?我们这里我们是不是也是通过ma的一个不债务工具来对我维度表历史数据做一个初始化呀,对,然后接下来咱们写了专门的去监听我们现在维度表的这样的一个的这样的一个SPA程序。如果维度表数。
04:23
就发生变化了,那么这个时候呢,哎,咱们可以把它啊给它读过来,放在哪呢?说写到A里面去了,但其实这里有一个地方有问题是吧,后面我会改对吧,大家呢,这个咱们我就不再改了,到后面我会改什么呢?咱们在维度表里边,在用户维度里边,同学们他们存了一个什么呢?我是不是存了一个年龄段呀,其实这个年龄段呢,存在这里不太合理。对吧,其实这个年龄段呢,存在咱们的用户这里,这是不太合理的,对吧,为什么呢?当初咱们现在在这个计算年龄段的时候,它本身没有这个东西,它是不是根据我当前对吧?诶你执行我们现在这个用户初这个初始化的时候,然后他帮你算出来的,对吧?怎么算的呢?在咱们用户表里边,它是不是有一个生日啊,就用户啊本身他有一个生日,对他一个生日,然后接下来咱根据生日可以算出他属于哪一个年龄段啊,哪一个年龄段,然后接下来那把年龄段算出来之后,那我是不是直接就保存到h base里边,那这个东西是不是不会变了呀,对吧?但是假如说我过了一年对这个用户的年龄对吧?哎,他咱这时间变了,这个用户可的年龄是不是变了,那年龄段是不是也有可能变化呀,那你在消费的时候,那这个年龄段是不是其实不太准的对吧,所以说我这会儿呢,其实应该把它从我们这个用户的维度啊,这个拿出去,然后在哪儿呢?到到时候我们下订单的时候,对吧,然后我根据咱们这个订单去关联用户,然后。
05:51
那这些用户是不是可以拿到他的生日啊,那个时候再把咱们年龄段给他算出来,对吧?就是每次在订单的时候,对吧,我把当前这个下订单的这个时刻,对吧,用户年龄段给拿到对吧?那么这块呢,其实我们目前就是有一问题吧,就是有问题对吧,大家知道一下,然后接下来呢,那么咱们现在呢,我们啊这个用户,呃,我们的订单对和谁呢?和我们现在的省份以及呢,这个用户进行了一个维度的关联,那么在进行维度关联的时候呢,那其实这些数据呢,都来源于我们现在的a base,那么目前的A其实放三个东西,一个呢是用户的状态,它主要用来判断咱们是否首单消费,那么另外一个呢,就是我们的省份信息,还有一个咱们的用户信息啊,主要放这三个东西对吧,那么咱们具体在写代码的时候呀,大家注意来到我们现在这个订单里边来,对吧,那么咱们在进行关联的时候呢,其实我主要给大家介绍这么几种方式,对吧,比如说我们呀。
06:51
在接着关联用户状态的时候,那第一种方式对吧,是不是就一条一条的关联,你来一个订单,然后呢,我就咱们当前这个订单里边它的一个短灵户ID,然后到咱们it里边用户状态里边去查询一下,看看有没有对,这是第一种方式,那这种方式呢,那这个最后一句真太过于频繁了。
07:12
那不好,那后来咱们做一个优化,怎么优化的呢?咱们是不是可以把这个东西对吧,以分区为单位进行处理啊,对吧?那么如果以分区为单位进行处理的话,咱们是把当前这个分区里边所有的的这个ID给拿出来,比如说你要想和用户关联,那你把用户ID拿过来,比如说你要想和省份关联,那么你把省份ID呢给拿过来,然后咱们拼接成一个搜狗语句到我们A呀,做一次查询,这就可以了,那么除了这种方式,咱们是不是还有一个这个方式呀,那种方式什么。一个以分区为单位,还有什么是不是以咱们这个采集周期为单位来进行处理啊,等于说整个采集周期啊,咱们去处理一次,那采集周期处理一次,那么如果采集周期对吧为单位进行处理的话,那么这个时候呢,咱们需要借助谁,是不是得借助它的一个算子,对这个算子呢?对吧,叫做我们这个transform对吧,Transform,然后呢,把这RT拿到那么这里啊,我们要注意啊,那么你如果使用我们的transform,或者说我们这个for r DD,那么这两个算子呢,它这里边震动内容它在哪执行的,它在我中端执行的。
08:25
啊,在转转执行,而且呢,每一个采集周期它执行一次对吧?那么同时呢,那么咱们现在这里,那我现在在执行的时候对吧?那么RDD它的一个算子要访问我外部的一个变量,那这个时候呢,咱们其实也可以对它做一个优化啊怎么优化呢?咱们其实是不是可以把我们现在对这个数据给它封装成广播变量了,对,把它的给封成我们这个广播变量的形式,对吧?然后分发到我们现在它的一个我们这个对ex去,对吧?那么如果说我要是广播变量的话,那它的一个优点在哪呢?如果说没有广播变量,它是每一个task对吧,一个我们这个副本啊,每一个task一个副本,那么如果是广播变量的话,那应该是每一个ex对吧?那么这块呢,是一个副本,好了,这是关于我们的前面的内容啊,关于咱前面内容,呃,那么最后呢,做咱可视化这一块,可视化呢,目前对咱们我看大概同学有有几个啊,遇到这种问题了什么呢?就是我们在展示的时。
09:25
呃,通过我们这个查询语句对吧,他可以查到数据对吧?但是呢,呃,我们在展示的时候,不管是用什么图啊,这个数据呢,都查不到对吧?一会统一看一下这块的问题,对吧?有几个到碰到这种情况,就是我现在本身已经写到exs里面去了,到其他ES里去了,但是呢,我在查询的时候都没查出东西来,你们有碰到这种情况了吗?是什于什么原因啊,时间没选是吧,有选有有没选时间的到这块还还还有吗个代码啊,然后那个那个名字啊,然后昨天就有名字没取的,那数据是没有那个没有表信息的啊,就是说咱们现在呢,在咱们这里边可以保颜色保保存,但是呢,有可能没有我这个字段不全啊还有吗。
10:26
这个ID是随啊,ID是随机生成的,就是咱现在呢,在咱们这个保存的时候,其中我们是不是为了保证密等于消费啊,然后咱们现在再去执行我们这个MYES,它有一个book third的时候,咱们是不是把这个传递参数给它稍微改了一下呀,等传两个东西过来对粒子集合,粒子集合里面由什么组成的呢?由元子组成,元组的最第一个元素是代表咱们这个K,对第二元素的代表对象,对吧?这常见几种情况啊,但是你们刚才说的这几种导航和你们还不太一样,等我一会单独给你们去看一看啊,好了,这是咱们前面的东西啊,把这稍微停一下。
我来说两句