00:00
接下来呢,我们看一下go back是不是分组函数啊,对吧?用来分组的,它往往跟着我们的什么聚合函数一起用,对吧?那那我们看一下第一个要计算每个部门的平均薪资,之前我们说过算过总的薪资,现在我们要算什么呢?每个部门的平均薪资啊,那就select的dept number对吧?呃,然后呢,部门的平均薪资A,然后呢,Self from p张表groupp。Number对吧?啊,这个就得走MR了啊,得触发计算了,他不是说直接去加载数据的方式能找到,他得通过计算吧,那就要触发MR的一个任务了啊。就包括之前我们的抗新啊,这些东西是不是都一样的,做MR的对吧。
01:00
好,这个让他跑着吧,应该就出来了啊,这是这个结果,行,那接下来有个问题,我们现在想求一下,嗯。平均薪资大于。2000的。大于2000的部门及部门平均薪资,这个还是这样,这样能好看啊,那个灰色的,因为在搜个当中啊,色个当中注释是这样写的,搜个当中是两个。两个两个就够了,三个是多的,就类似于你你加va注释两个就够了,你写这个可不可以啊,肯定可以的,对吧啊,它两个就够了,但是这个灰色的不好看吧,所以我就改成这个,那这个应该怎么写的啊,部门第1PD number对吧,平均资S这个呢,我们叫取个别名了,对吧,因为等会肯定要用要过滤啊对吧啊叫S,如果说不用过滤的话,我们不用写了,From这个什么这张表那怎么过滤啊,有才提到了,为了为了avg大于2000。
02:33
对吗?对,还有一个什么,对还有个是吧,那加一个这个什么第1NUMBER这个对吗?这个不对啊,就刚才我们还说过这个事,Where后面你不能用这个边名,如果你想用V尔去过滤的话,你得嵌套一个磁场。对吧,等会我们看一下用where啊,这个地方你要想过滤的话,得用什么heavy啊,得用heavy去做,Heavy是不是在group by后面生肖啊,对吧,它heavy是可以的,走一下让他跑着啊,然后接下来还是回到我们刚才问题,我们就想用will,我就不想用排,刚才我说了我们得写什么形啊,首先呢,你得把平均资给我求出来。
03:28
对吧,这张表呢,我可能叫做别名取T表啊,然后对T表做什么事啊,Dpd number,然后呢,Avg的一个什么salary from这个什么这仪表,然后will。为了什么AV3略大于2000啊,然后T表我们就给它往下移移对吧,然后前面加一个括号啊,T表呢,给它扔进来。对吧,签套的啊,签到的这样的一个东西,好那看一下啊,是不是1000之前是不是有一个一千五百六的呀,没了对吧?啊这个四个也可以啊,但是签到一条那两个色我们肯定选什么heavy了,对吧?好子查询呢,它就会触发一个Mr room。
04:19
这种方式也可以啊,我要做一个过滤。这是go by和heavy那个连用,是不是跟刚才结果一样,就没有那个一千五百六的呀,对吧,过滤掉了啊,你如果直接用V我们来看一下啊,这个地方我写不啊对吧,我给他看一下他会怎么样啊,这报错了,而且报了一个错还怎么样啊,就好像不是那个我们要写的这个错误一样,对吧,你都看不懂啊,所以说要注意啊,这种东西要注意一下,呃,Will后面呢,不能跟别名,哎,那这样呢。
05:06
这个呢,为什么这个东西其实首先啊是这样的,首先这样的,就算他能行,这个答案也不对,因为我们也说过,V是不是在group by之前生效,如果能行,这个东西是不是对于全量数据集求的平均数。如果说能运行的话,它是不是对全量数据集求的平均数。对吧,因为我们说过V是不是在go by之前生效啊,先去做过滤吧,对吧?啊,它不行的原因是因为V后面不能写聚合函数啊,就买也一样啊,那不要后面不能写聚合函数啊,那也就是说这个东西我们还改回来用heavy就好,对吧,你要想实现这样需求,其实用heavy就能搞定这个事情啊,这是我们所说的分组啊,还一句对吧。
06:16
这个当时我们也写过了,对吧,大于2000吧。
我来说两句