00:01
OK啊,那这个问题我们就说完了啊呃,说完以后,然后接下来的话我们就往后讲了啊。行,那目前的话,我们的日活宽表这个任务我们就先告一段落啊呃,接下来我们来到这个订单业务宽表啊,我们来去做这个任务啊。呃,那首先还是我们先说一下,我们将来要统计什么东西啊,给大家这个也是,呃,诶我这个需求举例怎么没有呢。这个图忘放了啊呃,图忘放了,大家应该还记得吧,嗯,这样吧,啊,我去找一下哈。呃,我在我的第一个里面是有的啊。好,稍等啊,我把它打开啊,大家再来看一下啊。OK,我们来看这个项目分析啊,呃,项目需求里面啊,就是呃这个图啊,稍微大一点。这个啊,这个是我们将来要去做的一个统计啊,呃,这个统计是。
01:00
按照什么,按照这个地区啊,就是你这个按照这个省份,然后呢,去统计一下你这个订单的一个总额啊,我们是要去出一个这个地图的一个效果啊,叫这个热力地图。明白吧,就是按照这个不同的这个颜色啊,然后去标识你这个每一个地区,然后你这个订单的总额的一个情况。对吧,啊,这是一个啊,然后还要做的一个是这个。嗯,这个。稍微小一点啊呃,这个是一个什么铜镜呢,这个是一个。叫交易分析啊,交易分析的一个统计,就是我们会按照你的这个用户的这个性别啊,或者是按照你这个用户的一个年龄。然后呢吧,一个是性别啊,一个是这个年龄啊,然后呢,去做一个交易分析啊,就是呃,性别为男的,然后呢,这个总的成交额是多少,性别为女的,总的这个成交额是多少,以及这个年龄分布就是。20岁以下,比如说这个成交额有多少对吧,20~29岁成交额有多少啊,这是一个年龄分布。啊呃,那当然这里面我还会带上一个就是那个明细的一个查询啊,这个我们就先不管吧,就你先大概了解一下,我们将来要去统计什么啊,其实就是围绕着你这个订单的去做一个统计。
02:07
OK吧,来,这是我们在这个订单任务中啊,我们将来要去完成的一个功能,好呃,那这个功能你知道以后呢,我们也是暂时先去分析一下这个需求啊,这是我们要去做什么事。那么其实在我们这个订单业务宽表中,我们的主要任务呢,是有两个啊,一个是这个流与维度的一个关联啊,这个的话呢,我们在上一个任务中已经做过了。对吧,你想想啊,呃,你要去统计你的订单,那你首先先先去明白你的数据源是什么。那肯定是跟订单相关的表了,对吧,首先你的订单表,订单表这是一个好,但这个订单表的话,它记录的是一个就是相对比较什么比较简约的一个信息啊,它并没有什么记录这个很详细的信息,但是呢,我们将来要去看什么,要去看这个明细数据的,大家注意啊,我们将来是要看这个明细数据的。所以说呢,我们是需要把你的订单的详情表也拿过来,那就说白了,我们要从你的订单表和你的订单详情表里面去输数据,明白吧,好,那当然呢,我们的订单呢,可能很有可能还会涉及别的表,比如说你订单有没有参加活动是不是啊,然后你订单什么有没有使用什么优惠券什么的。
03:14
对吧,那这个是什么对应的这个表。理解吧,啊,那么在我们这个目前这个项目中的话,我们还是以两个这个最核心的表来去研究啊,其他的我们的暂时先不设计啊,最核心的就是一个订单表,一个是你的订单详情表。好,那我们这个订单表中呢,它是记录了你这个订单呢,是哪个人下的订单,就是我会记录你的这个UID。对吧?哎,当然呢,你这个地区信息呢,我也有啊,地区性也有,好,那你看一下啊,我们将来如果说想要去统计这个以性别做统计,或者什么以这个年龄做统计的话,那我就要求你的数据中呢,必须得有这个性别字段和这个年龄字段。对吧,但其实呢,我们的这个流中啊,就是我们这个订单的这个流中,或者什么订单详情的这个流中是没有这些什么字段的,那首先我们要做的就是先去做一个维度的一个关联,就是把我们需要的一些这个维度信息呢,还是把它这个关联进来啊,这个事呢,其实跟我们呃日活宽表中的那个维度关联啊差不多。
04:10
好吧,这个我不多说啊,好,那我们重点要完成的是另外一个功能,就是双流的一个draw。啊,双流的一个招引啊,这个双流招引的话,就是流与流之间的一个合并,因为现在我们是从你的两个表中拿数据,一个是你的订单表。对吧,一个是你的订单详情表,好,那么这两个表的话呢,目前都在我们的DWD层啊,它是一个主题对吧,都在什么卡不卡群等等,那就说白了,我需要把这两个数据呢都给它读出来,读出来以后呢,诶,我要把你的订单和你的订单详情呢去做一个关联。能理解吧,啊,我们要去做一个专业操作啊行。那这个时候可能有同学会想哈,诶,那你为什么不把这个数据直接写到你的这个,比如说ES啊,这也什么直接写到你的ES,然后呢,你们将来做分析的时候呢,再去做这个关联啊,再去做这个招聘操作呀,对吧?诶可能有同学会想这个问题啊呃,但其实这个问题的话,我们之前也简单说过啊,就是你最终的这个o lap啊,你得去看他能不能帮你去做这个事情,他擅不擅长去做这个事情。
05:10
那如果说他能做,而且他也很擅长去做这个事儿,呃,那我觉得你可以不做提前的关联,你直接把这个数据写到你的ES,然后呢,最后你在分析的时候再去做关联也行。那如果说他不擅长的情况下。那你就得什么提前把数据给他关联好,然后呢写到你的这个olp中,将来他就什么不用再去考虑join的这个操作,我就什么直接去聚合统计分析就OK了。明白我的意思吧,啊,那我们这个目前的情况的话,这个ES呢,它其实什么不太擅长帮你去做这些事情啊,一般情况下你的o lap啊,这些专门去做什么聚合分析的,统计分析的啊,他都不太擅长帮你去做这个装音操作。所以说我们在这个过程中就要提前把你的订单和你的什么订单详情啊,给他什么关联到一起,然后呢,把它生成一个什么宽表,对吧,当然这里面还会包含我们的维度数据啊,把这个维度数据给它带上。
06:04
然后呢,把这个提前关联好以后呢,我们把这种数据,然后呢,写入到你这个ES,然后将来你做分析的时候呢,就省得你再去什么关联维度啊,或者什么去做这个流流之间的一个什么装引,就不用再去做了。好吧,这是我们要去完成两个功能啊,行呃,那我们也是给了一个图啊,我们把这个图打开看一下,大家就会更清晰啊,我们要做什么事?嗯。好打开啊行,这里面就说的是维度关联,还有这个留的一个join啊,大家来看一下,那首先在我们这个DWD里面,我们现在的事实数据是什么呢?就是我们的order info和我们的order detail。这两个表什么关系?不用我再给再去给你说了吧,同学们啊,这是你的订单表,这是你的订单详情表。那你的一个订单会包含N个详情,这N个详情都在它里面记录着。对吧,啊,你们都是这个分析过这个数据的啊,所以说我就不再跟你去细聊啊,OK,呃,然后呢,我们目前是在这个订单all order info中啊,我们是可以去什么关联什么关联这个维度的。
07:09
明白吧,它里面我们是可以去关联维度的啊,就是我们要先去做一个维度的关联,就是把你的比如说你这个用户的这个维度啊,还有什么呀,这个就是地区的这个维度啊,对吧,先跟他们去做一个这个关联维度关联。能理解吧,那把这个维度关联好以后呢,接下来我们就,诶拿上你的关联好了,这个流啊,其实说白了它还是一个order info,只不过呢,我是关联了一下这个维度而已啊,多多了多加了几个字段。好,那我拿上你的这个流,然后呢,再拿上我的all detail这个流,这两个呢,就相当于什么,相当于都是从你的卡夫卡出来的数据。好,那么这两个流我们要怎么去做一个装一操作。能听到吧,来就是这样的效果啊,我们把你的order info的数据和你的这个order detail的数据,要把它们装引到一起,那你装引到一起以后的话呢,诶你的字段呢,就会特别的多,对吧,因为一部分是你的order in的字段,一部分是你的order detail的字段。
08:04
对不对啊,字段特别多啊,这不就是我们所谓的宽表吗?是吧,那你这个关联到一起以后,你怎么去存储这个数据呢?诶,那我们再去单独去定义一个对象,比如说我们就叫做什么叫order。对吧,订单的一个什么外的就是宽的意思啊,就是订单宽表。能听能听懂吧,诶订单宽表好,那我们把这个订单宽表关联好以后呢,我们再把它去写入到我们的op里面就OK了。这就是我们整个这个任务中,我们需要去做的事情。好吧,其实重点就是完成这一部分啊,因为我们目前来看的话,这个整个流程呢,还是比较简单的啊,就是把两个流程给大家做一个关联啊,但其实在我们的实时处理过程中啊,你留draw引的话呢,还会有很多很多细节的问题需要你去考虑,需要你去解决的,那这个就等我们写到它的时候诶再来去分析。好吧,我们边看那个错啊,边分析这个原因啊,然后再去想这个解决办法,那大家呢,先把这个基本的一个流程先给他搞明白。
09:02
OK吧,行,呃,那我就这个提前啊,把这个还是截个图吧。好,今天这个图啊,然后呢,放到这儿,然后一会儿我们就什么看了这个图,然后呢去完成它。好,放到这儿。OK,那我把这个分析明白以后,接下来我们就直接上代码,开始去写代码,然后去实现这个功能。OK啊,行。
我来说两句