00:00
好了,同学们,那咱们既然学会了用这个king来查以后呢,啊,还有一个东西来说一下啊,咱们这个king这一块不仅能够查询circle是吧,你得到这个结果以后呢,你也可以通过一些图表把这个结果给他展示一下,大家可以点这个啊,点这个图表展示,它可以把你这个结果给展成这个柱状图,哎,包括这个什么呀,包括这个饼状图,这是可以的,然后你想导出,你也可以点这个export,把咱们这个数据你给它导导,以这个CSV的形式你给它导出,好吧,这个咱就不说了,那咱们接下来讲什么呀,接下来给他讲一个这个king的使用的注意事项,同学们。如果我不讲这个,我担心很多同学在K里边写circle,他会怀疑人生,他发现自己这个circle他不会写了,那我先给大家演示一下啊。大家想啊,就比如说这个so后我先给你格式化一下,因为这样咱们这样改改起来好改好吧啊。咱们这样啊,咱们啊,咱们就给它这样吧,咱们简单格式化一下是吧,把咱们这个字段咱们给他。
01:05
呃,回退一下,就这么一个circle啊,你点这个sum,你会发现它是能够执行成功的。但是有同学想啊,老师啊,我这个,但你你自己也说了是吧,咱们的这个员工表,这是咱们的这个部门表,然后我我的这个部门表,这个部门是包含员工表的,所以说我用这个join跟用这个left join是一样的。啊,那怎么证明这个问题啊,你可以上这个have里边,你你你来搜一下,点开咱们这个have,我在have里边,我把这个join是吧,我给你改成left,你可以让这个have你跑一下,你会发现你用这个join跟用left join出来的这个数据它应该是一样的吧,如果咱们这个造数据没有改的话,我来试一下啊,它应该是差不多的啊。我们等他跑完好吧,哎。
02:00
啊,然后我们来截一下图啊,同学们来看一下啊,这个数据是咱们以准跑出来的数据,哎,应该能看懂吧,这这个是以准抛出数据,那然后我最后这个是以left joinone抛出数据,明显能看出来我这两个circle,我的这个结果是一样的。在我have里边,我两个都能跑,那现在既然你在have里边能跑,那我在我的这个K里边能不能跑啊,那我在我的K里边,我把我这个John,哎,我也加成left join好吧,那这个时候你再次点sum,你会发现报错了。咱们的K是不允许你用left对left对查的。那为什么在have里边可以,在我这个K里边就不可以,为什么这么奇怪呢?所以说这个时候是吧,咱们再给大家讲一下咱们这个3.6这章节就是king的三个使用注意事项。在这个使用的注意事项里边,第一个就是啥,你看第一个大家可以读一读,我们只能按照构建摸丢的连接条件来写circle。
03:10
大家看一下啊,这个图就是咱们当初构建我的那个员工模型的时候一张图,咱们当初是吧,选了一个员工表。选了一个部门表。咱们的这个员工表跟部门表是不是明确选择inner呢?是吧,包括这个质纹信息,那因此咱们在K里边写这个circle,你只能写in the,你写left,它是会报错的。因为咱们这个king它是予以计算,你只能按照你定义的那个模式去查询,你查别的它是会报错的,同学们啊,在这儿我给他演示了一下left之报错,June就不报错好吧?啊,那然后你会发现这一块除了这以外呢,还还有一个别的,还有一个更更神奇的什么呀,并且它这个地方还有一个顺序的要求。
04:07
为什么要大家看好了啊,因为我在我构建这个model的时候。我的员工表在前,我的部门表在后。所以说就算你是June,你的这个员工表也得在前,你的部门表也得在后,如果两个替换一下是会报错的,好吧,那我这样,我们先去这个have里边跑,大家也都知道我在have里边,我写了一个join是吧,我这两个表进行join,那我两个表既然是join的话,那我给他反一反,是不是也没有什么原因有问题啊,大家可以这这样玩啊,这样我用我的这个deptd这么一个表,我用我的部分表。我这个怎么着啊,我转上我这个empe,我就我就把这两个两个表的顺序我反了一下,你会发现你在have表里边是能够正常查询的,并且它的那个结果也不会报错,跟咱们前两次的应该是一样的。
05:08
啊,他跑起来了,那让他跑的同时我们干嘛呀,我们在我们在这个K那边,我也给你调换一下顺序。你会发现怎么着呢,他就会报错,同学们看好了啊,我把我的这个第1PT。放在前边,我把我的这个EPE放在后边,这个时候同样还是joinne,我执行后它就会报错。啊,就是因为你当初在定义这个摸的时候,你是员工表在前啊,你是这个部门表在后,就是事实表在前啊,这个维度表在后,这是我那个kidding的一个要求,好吧,那我们这个连接条件这块整明白了,那接下来我再给你讲什么呀,它还有一些别的。这个注意事项啊,第二个注意事项就是什么呀,就是我们只能按照构建Q时选择的这个维度字段,咱们给他做一个分组统计。
06:05
你就比如说咱们当初构建这么一个Q5,构建咱们那个first q,咱们是不是选择这么四个字段啊,一个是job是吧,一个是这个MGRR,就是那个上司,就是老板,一个是这个DPD啊就是我这个员工表的这么一个部门编号,还有一个部门名称,就是部门表部名称,那既然你在创,你在构建这个cub时,选的是这么四个维度字段。那我勾BY的时候,我分组统计的时候,我就只能按照这四个去做一个分组统计,你按照别的统计,它是没办法帮你做计算的,那我们来试一下好吧,哎,那就比如说第一个我使用drop补分组,我们看我们看一下这个,你看这个不对啊,因此我们这个转换条件我得给它切换回来,要不然它不行,好吧,我们先把这个join条件,哎,我给它切换回来,我用我的这个事实表,哎,Join上我的这个。Join上我这个部分表,因为我用的是个d name d name,哎,就是我的这个是我我这四个join条件之一,因此我这个d name是能够成功的,这个d name是能够成功的,我们试一下好吧,这个DNA成功了,那然后再往下你可以试一下这个job job,你会发现它也能成功,我把这个DNA我改成做,然后上边这个我也改成这个job。
07:22
咱们执行一下,你会发现我按照我这个工作的类别,我给他分组,哎,它也能成功。好吧,那然后呢,这个工作成功之后呢,我再利用这个上司,我看一下我这我的神,我这哪个上司,他这个下属发的这个工资比较高是吧,我按照我这个MGRR,我做这个统计,他也能成功,我试一下啊MGRR怎么按照这个MGRR做个统计,你看他也成功了,他也成功了,只不过有的人没有上次,所以这块就是空的,好吧,那再往最后一个按谁啊,按照这个员工编号啊,这个部门编号,那我试一下我这个部门编号呗,因为这个部门编号在这两个表里边都有,所以说你得选一下咱们就比如说我用这个E表的这么一个dept no可以吧,那我在上边我就搜索一下我这个E表的DEP to,然后他们执行,你会发现我按照我这个部门编号,我也可以分头成功,但是除了这四个,你按照别的它就成功不了,你就比如说咱们按照什么呀,咱们按照一个其他字段,就比如说我那个LC。
08:26
咱们这个部门表里边儿是不是有一个。LC啊,就那个地理位置,你如果按照那个地理位置,你给它grow by,你就直,你就没没办法成功,我试一下啊,我把这个LC我给它改了,就咱们这么一个circle口,就是按照这个每个员工的这么一个地理位置,我按照这个省或者啥是吧,按照这个市的这个编号,我给他分组,你会发现在咱们这个K里边就成功不了,它会报错,因为你在做,你在做这个予以计算的时候,你并没有加上这么一个维度字段,那大家应该明白,就咱们这个circle候在have里边跑,它应该是能成功的,就比如说我在have里边按照这个LC,我了go是吧,我统计一下我这每个市,每个市都发多少钱,他应该是能够统计的啊,其实要给大家讲一下,就咱们之所以在这个K里边像这种circle成功不了,你知道大家知道根本原因是啥吗?根本原因就是它那个路由层没有开启。
09:28
啊,就是咱们在讲这个架构的时候,中间这一层是吧,路由层killing是默认关闭的,如果你开启了路由层,像这种circle,它在K里边应该也是能够执行成功的,它会在是吧,那个路由层发现里边没有,它会给你路由回have去执行,只不过这个circle执行的就比较慢了,我其他circle啊,0.5秒就执行成功了,而你这个circle你给我跑了25秒。那这个东西是吧,这个体使用体验是相当不好的,所以说这个路由层我是没有开启的,就是K默认不开启这个功能,大家知道就好了,好吧,你会发现咱们在这个have里边,它是跑出来了,这个LC是可以跑的啊,那这第二个注意事项就讲完了,那除了第二个还有什么呀,还有第三个注意事项。
10:16
第三个注意事项就是你在统计这个度量值字段的时候,你只能统计构建QB是选择的那个组长字段,大家大家都知道,咱们在构建这个cube的时候是吧,我我我我自己添加了一个sumal,然后呢,它加了一个默认的count新。因此你在这个地方,你在统计这个地,这个时候你要么是sub sub SL,要么是康德新,别的是报错的,我给他试一下,首先我把这个改回来,我再改成一个d name可以吧,DNA,然后这个是不是也是一个DNA DNA me nameme,那这个时候是吧,你给他这个做提交,他是能够成功的。
11:00
那这个萨SCL能成功,然后呢,我给他抗新一下,我也能成功,因为这个萨SCL跟我这个抗星都是我的两个度量值字段,好吧,我给他试一下这个康星,你会发现咱们这个康星也能成功,但是别的好像就不行了,你就比如说我给你萨摩一下那个奖金cum是吧,我让我我让你这个员工。这个这个部门分组,我统计一下我这每个部门的奖金和这个时候,这个时候在咱们K里边就没办法成功,因为KLY当初你做,你做这个予与计算的时候,你没有把这个坐量值你给我选上,如果你选上了我能够查,如果你没选我就查不了,我就查不了可以吧,那大家都知道,像这个circle候还是那句话,在这个have里边,它肯定是能够跑的,只不过速度比较慢,我讲这个视频是吧,啰里吧嗦讲了半天,就是希望大家一定要深刻理解咱们这个Kitty应该怎么构建这个cube,怎么创建这个module,这个就是创建module,构建cub是根据你的需求来创建的,这个很重要,我希望大家有一个深刻的理解,好吧,啊,那咱们这个kon的使用注意事项。
12:18
我就给大家讲到这儿啊。
我来说两句