00:00
好了,同学们啊,那咱们这个modeldu创建了以后呢,那咱们接下来就创建一下咱们这个Q,那这个Q怎么创建啊,大家看一下啊,还是来到咱们这个模型这一块啊,有一个new在这个new这个里边啊,我们就可以直接拗一个Q补了,这个就是咱们那个数据的一个计算的一个数据立方体,好吧,那咱么拗一个Q在你new q的时候啊,第一步它肯定让你选择一个modu,就是你当前这个Q补是基于哪一个modu进行创建的,那咱们是不是就基于咱们这个emp modu啊,就是员工模型是吧,我基于我的员工模型,我来创建一个cube,那么这个cube的名字啊,你就比如说我就叫一个for cube是吧,第一个cube。那咱那个时候啊,他可以是吧,在这个地方他还可以写上一个通知呢,由于咱们这个通知那个参数咱们没有配啊,就不没有必要发这个邮件通知了,咱们现在也发不了,因为当初咱们在安装那个K的时候,并没有对这一块做设置,好吧,那那么接下来啊,这两块不设置,那我的描述也不用写,那我们就会下一步了,好吧,那在我们这个创建Q补的第二步,是不是也需要填写这么一个底门啊,这么一个度量值字段啊,注意啊,不是度量值字段啊,这么一个维度字段,那注意那咱们这个维度字段。
01:08
注意啊,在这个地方选的维度字段,就是真正的将来要创建Q5做计算的维度字段了啊,你就比如说咱们刚开始啊,在创建model的时候,我好像大概学了有七个吧,但是咱们的七个啊,并不是真正真正的这个维度字段,那那那那那这个时候啊,我在我的这个,我在我创建这个。这个cube的时候,我添加的这个文字段就必就只能从这七个里边选,就比如说我的员工名称啊,我的门编号啊,我的部门名称啊,还有那个位置信息啊,我只能从这里边选了,那这个时候啊,你选的就比如说我选了四个,好吧,咱们选的这四个就会影响咱们这个Q5的个数,Q boy的个数,就我这一个Q5啊,包含几个q boy的,它的一个计算方式就是二的N次方减一啊,如果我将来选这个四个这么一个正常维度字段,那我的这个q boy的个数应该是二的四次方减一,它应该等于15个,所以说啊,大家在这个地方啊,你选择这个维度的时候,你就不能马虎了,你得好好选一选,你看一看咱们将来都需要针对哪些维度做计算,我需要的我才给他选出来,如果不需要我就不选了,好吧,是这么一个逻辑啊,那么接下来点开这个点门。
02:20
注意这个时候你发现你看到的就是七个字段,这七个字段就是咱们当初创建model时,我选的那七个维度字段,好吧,那这个时候我选那几个,你就比如说啊。我的一个岗位我选上是吧,我的一个MGRR我选上,我的一个dp d no我选上,这没有任何问题吧,咱们在咱们的实时表里边啊,我选了三个维度字段,注意啊,在咱们这个事实表里边选的维度,它都属于正常维度,没问题吧,那咱那咱们接下来还可以在这个维度表里边我选一个,我选谁呀,我就选这个D内啊,就这个部门名称,我我认为啊,我这个部门名称我也需要分组统计。只不过啊,咱们这个部门标里边,你选的这个维度字段,它默认不是正常维度,它是一个衍生维度啊,有这么一个字啊,叫衍生维度。
03:08
那现在大家应该都听不懂什么叫衍生维度,所以说啊,这个咱们先不先不讲,先不选,我在下边会给你单独出理一个章节,讲一讲什么叫衍生维度,好吧,所以说这个时候啊,我们把这个normal某你给我勾上,就是咱们这个部门表里边,咱们这个维度,它也是一个正常维度,那接下来我就选出来咱们四个维度,那接下来啊,咱们这四个维度我创建了一个Q5,就有二的四次方减一,也就是说15个q point,好吧,那咱们接下来就可以点个OK。那我把我这四个呃,维度信息选完以后呢,那么接下来就可以点击下一步了。啊,还是老规矩啊,选完维度以后呢,选这个度量值啊。那咱们这个多量值怎么选啊,你会发现啊,咱们这个K点它默认自带一个多量值,这个多量值啊,就是抗新啊,就是咱们这个将来啊,你基于某一个维度,你给入外分组了,你这个count新是默认带的一个装值,你是一定能够用的,那除了这个抗新以外呢,咱们还可以干嘛呀,咱们还可以统计一下咱们的那个工资和啊,就可以按照部门啊,按照位置啊,按照这个岗位啊,我可以给他做一个这个工资和,那所以说啊,我给我这个名字就起上一个sum可以吧,咱们起一个some s sal啊。
04:24
那咱们这个工作号有了之后呢,你看咱们这个聚合函数表达式,那肯定是sum在这个里边啊,你可以求sum啊,你可以求,你可以求和,求最小求最大啊,求countt,还可以求一个抗,就是去重统计,咱们还可以求托N是吧,还可以求一些别的这个百分比,咱们就求一个萨就可以了。sum这块呢,我要对哪一列啊,我要对咱们这个列求萨姆哪一列啊,我要对这个salary这一列,注意啊,咱们在这个列这个地方,你只能看到两列,一列叫salary,另外一列就是那个奖金啊,咱们这个工资啊,奖金啊也是从哪来啊,从咱们这个数据模型里边的那个度量值选择,由于刚开始啊,我在创建摸走的时候,我把这两个字段我定义成了这个measures,所以说啊,我在创建cub的时候,我就可以对这两个度量值字段做统计了,那咱们这个时候啊,我就把这个salary,我给你sum一下是吧,咱们的一个返回类型,它自动就是double,那咱们接下来点个OK啊点完之后呢,那咱们这个度量知字段就创联好了,那创联好。
05:25
然后呢,那我就可以点个下一步了,走next,那咱们这个下一步啊,它这一块啊,有一个刷新设置。咱们这个刷新设置它指的是什么呀?它指的是咱们这个文件啊,在底层一个合并设置大家都知道啊,咱们这个Q5它的一个结果啊,咱们K4.0是不是存成了一个park的文件是吧?PQT,而咱们这个park的文件啊,每一次我这个QB啊。我每构建一次,它都会生成一个segment这么一个park文件,那大大家知道啊,在公司里边咱们这个实时表一般都是按天分区的,也就是说啊,我对我的实时表将来肯定是一个增量构建,就是我每天啊,我都会构建一次啊实时表是吧?都是按天按地梯按天分区的一张实时表,那将来我在公司里边是吧?我每天都会构建一次Q股,那你每天是不是都会生成一个power文件啊,那咱们这个文件是不是会合并呢?啊,它在这个地方啊,有一个合并的一个刷新设置,它叫什么意思啊,它叫七天小病啊,28天一大病啊,也就是说啊,我第一天一个文件,第二天一个文件啊,第三天、第四天,第五天,第六天到第七天的时候,我就会把这七个文件给它合并成一个比较大的文件。
06:39
啊,那咱们接下来是吧,又来七天又来一个文件,又来七天又来一个文件,当你到第28天的时候是吧,咱们这三个大的和我这七个小的又会生成一个四周的一个最大的文件啊,所以说啊,咱们这个合并设置啊,人家官方推荐的就是七天一小病。28天一大病,咱们这个合并参数啊,不用改,一定用官方这个就非常好,好吧,那咱们接下来就直接点击下一步了啊,那在咱们这个advance的赛点里边,就是高级设置里边,我们可以设置什么呀,咱们可以设置一个聚合组or grgation group次咱们还可以设置一个RO的么?一个优化,好吧,咱们还可以设一个什么呀,Men cobos这个也不用管啊,就是强制的一个cubo,这个咱们不用设置啊,最后啊,你还可以设置一个cube的一个构建引擎,咱们这个K4.0砍掉了MR,就全程用这个Spark做这么一个构建,所以说咱们这个构建引擎你你也不用选,你选的话啊,也是只能选Spark,好吧,这个不不选,它默认就是Spark。
07:38
那咱们这个聚合组呀,包括咱们的这个ROK啊,咱们当前可以不改,因为大家还没有学这个调优,你也不懂,那所以说啊,咱们第一次玩入门实战,那这个高级设置我就不改了,好吧,我在下边章节里边会给你讲一讲咱们这个聚合组是个什么东西是吧?咱们这个roca应该怎么设计,OK啊,那咱们接下来就可以点击这个next的下一步了。
08:01
在咱们这个倒数第二步里边啊,你可以设置一些参数复写,大家知道啊,咱们这个keying.purpose是不是有很多参数啊,而我那个参数啊,属于全局参数,如果你在咱们那个Q补,Q补里边,你想设置一些特定的参数,你可以在这一步啊,你把那个参数的值拿过来,你给我写上一个参数的名称,你再给我写上一个参数值,就可以针对咱们这个Q补啊单独设置一些参数。那咱这那这个时候啊,咱们也不用设置好吧,那么直接点下一步啊,最后一步简单告诉你啊,你这个cube是吧,它的一些信息,你当前这个cube名字,名字叫first cube,这个modu是这个EP modu是吧?咱们的事实表是员工表,咱们的这个维度表有一张啊,Dimensions有四个,Measures有两个,那么接下来就可以点击一个save了。啊,那这样啊,那咱们的这个first cube就串联好了,那咱们这个cub串联好以后呢,我是不是需要构建cub啊,注意啊,咱们当前只是把这个Q补给它定义好了,你只是定义好了,你定义好以后呢,咱们是不是要构建这个Q补啊,触发咱们的预计算能听懂吧,咱们这个K点啊是一个预计算平台,你肯定肯定需要提前把这个Q股你给我构建出来,那怎么构建呢?
09:18
大家就可以点击咱们这个QB啊,后边这个action,在这个action里边啊,就有这么一个build啊,这个build就是构建的意思,大家就可以点击这个build。在你这个Q建cub的时候啊,构建这个cub的时候,你就可以点击这个yes思了,你这么一点,诶,你发现咱们当前这个monitor里边就会出现这么一个作业啊,注意啊,大家构建大家点完这个build之后呢,咱们当前页面并没有什么反应,大家需要打打开这个monitor,在这个monitor这一栏里边是吧,我们就多了这一个Q补构建的作业,大家能看到吧,咱们就多了这么一个Q补啊构建作业,在咱们这个Q补构建作业里边是吧,它就会跑起来。
10:03
啊,对于咱们这个Q股它做一个构建,大家在这个构建页面里边啊,你可以打开这个箭头,我们来查看它一共有几个步骤啊,大家明显能看到啊,咱们这个kin4.0这个步骤它减少了啊,一共分为两个步骤啊,咱们刚才也讲过了啊,咱们第一步啊,就作为咱们这个什么呀,资源探测我我当前我的这个K点需要收集一下是吧?构建我这个Q步需要哪些语言信息,当把我的这个语言信息设立好以后呢,我的第二步就可以利用Spark这么一个计算引擎啊,去做一个构建了,所以说啊,咱们这个速度啊还是比较快的,好吧,你看这个时候啊。我们已经完成了50%了,那就说明我的第一步,我的这个资源探测它已经完成了,当你这个资源探测完成以后呢,那接下来我跑的第二步,第二步啊,就是利用咱们这个Spark引擎啊,去做这么一个。Cube的构建,大家可以点开这个地方查看咱们这个第二步的日志,有发现啊,咱们这个第二步啊,他很明显要去干嘛呀,要去跑那个Spark application,要用这个Spark任务来构建咱们一个Q啊,那这个时候啊,大家也可以打开雅安,在雅安上面你发现啊,你等一会儿它应该有咱们这个正在运行的这么一个发任务,注意啊,不是这个spider啊,咱们那个刚开始跑的那个spider是咱们这个K的一个查询引擎。
11:25
大家听懂吧,它并不是构建引擎,注意啊,咱们用这么那个SP的这么一个绘画是做查询任务的,而我的构建任务,它肯定需要单独跑别的啊,单独跑一个别的任务,大家需要等他一会儿,好吧,你等一会儿我给你查看一下。这个时候啊,应该能够跑起来了吧。嗯。我们打开这个logo啊,我看他能不能跑起来啊,他跑完之后呢,咱们就可以去雅安上查看了啊。他在读这个配置文件是吧,第一步啊,在读配置文件,读完配置文以读完配置文件文文件以后呢,你发现他提交了这么一个application,这个application的名字是不是就是这个18119002了,那这个时候啊,你打开你的雅安应该就能看到这么一个1819002这么一个死Spark任务了,而咱们这个Spark任务啊,就是这个咱们那个kin的一个构建任务啊,它就跑起来了,好吧,它也是一个软件状态,你看啊,因此咱们需要调个什么参数啊,你看啊,大家看到啊,当前在我的这个student这么一个default绘画里边,我是不是有两个正在运行的任务啊,所以说啊,要求你这个机群,你这个am资源占比,你得从那个0.1给我调成0.8,要不然我这个两个任务跑不起来啊,咱们这个咱们这个雅安一共24个G。
12:44
而我am如果你占0.1的话,是吧,再强一遍啊,只有2.4个G,而咱们这2.4个G是不允许两个am跑的,那所以说啊,如果你不调你这个K的有可能没办法玩,好吧好吧啊。那咱们当前既然跑起来了啊,那你耐心等待一会儿,它应该就成功了,看到没有咱们这个任务啊,显示成功了萨,好吧,那咱们接下来打开我们的KD啊,你刷新,那咱们这个Q不构建咱们的一个进度应该已经到了100%了。
13:12
好吧,啊,只要你这个你的这个cube构建成功以后呢,大家打开这个module啊,咱们当前这个cube的一个状态就变成了reading,就它已经准备好了啊,也就是说啊,我这个cube你得你定义好完以后呢,你得先构建,你一旦构建好了它的一个状态才是ready,那只要咱们这个cub构建好了,我就可以在这个地方是吧,写这个circle。对咱们这个Q5做一个计息查询了,好吧,那咱们这个Q5的创建和这个构建啊,我就先讲到这儿啊。
我来说两句