00:00
看最后一个我们那个。它其实就是distribute by和。这两个字段放在一起的一个语法,放在一起的语法什么意思呢?当和字段相同的时候啊。你就可以用这个克拉斯拜来代替了,拉斯拜来代替了,直接跟着一个字段就OK了。就像你们所做的这个按钮,你之前做那个我的时候,你们是不是按照一输出之后,它是按单词,你先开始输出的,是一个月就色了。他是按照什么。单词静音排序的吧,一个文件。什么A在前面,然后什么hello宝在后面。是这样的吧,但是就只有一个文件吧,如果你把你当时做了这样的需求是什么呢?把reduce个数变为两个,它什么情况?
01:01
Reduce的个数变为两个。也没做过是吧。好,那那想一下,因为这个需求比较简单啊,如果说现在还是我放的那个需求,最后呢,我在封装叫的时候,我把他的一个任务就是被丢失的个数变成了两个。最终的结果是什么样的?首先两个文件是不是,但是这两个文件里边。是什么样的内容呢?第一个文件什么pad什么00000,这个是pad什么00001对吧,这两个文件名,那这里面是什么内容,这里面什么内容呢。它默认的分区规则是什么?K的哈希值吧,模拟什么啊,是不是一模也reduce的个数啊,还有印象吗?他他默认的哈希那个参数里面,最后第三个参数是什么?Number reduce是不是啊,还记得吧,Number reduce其实默认的用那种方式分区的话,它会采用reduce的个数来的,那也就是说其实啊,你这个地方,你如果说你把reduce个数设置成两个了,你其实做了一个什么事。
02:26
按照单词。进行分区的是不是啊,同时也按单词进行排序的吧,是不是啊,就是我们所讲的这个拉。既按单词分区,又按单词排序。就是class by,分区distri排序so by,它其实就等于这个。那我们来做一下,我们来做什么呢?之前我们做的都是我们上一个需求啊。
03:02
它是按照部门编号分区,按照薪水排序,但现在我们变了,我们按照什么。部门编号分区也按部门编号排序。正常的,你应该是。还是写到一个文件里了是吧。那这个文件就叫,然后你的一个查询语句是select的新。Fromp这张表,然后class class,然后这个dp number,第一批number好走一下。但你要注意的是,就是这个class,它只有默认的这种方式,它不能够指定排序规则啊,不能够指定排序规则,就它只有这一套。
04:09
所以它它也是比较不灵活的,只不过说有时候你提bed段跟段相同的时候,它是不是会方便一点啊,会方便一点而已。写到文件里面的是吧,还一下它也是三个文件,三个文件,然后不同的文件里面呢。这是三个部门的那一个文件里面肯定是同一个部门的东西,对吧,这个结果跟刚才我们所看的结果是一样的吧,只不过。他现在是按照部门来排序的,那他这个薪水你看1250,这是什么950,他这个数据的顺序还是之前读进来的顺序吗?啊,就跟我们没有说的半一样,是不是啊,没有说的半一样。
05:07
那有时候其实是这样的,因为现在咱们那个数据有限是吧,数据有限的情况下,正好一个部门就全部都是就闲的,这个排序没有用是不是啊,但是你要是部门很多的时候,是不是就有用了呀。就像我们刚才所举的例子,那个单词那个。单词,因为你看啊,现在只有三个部门,你分三个区,一个文件里边全部都是同一个区同一个部门的数据吧,然后你说按照部门编号来排序,其实此时这个案例给我们的感觉是什么?分区就是排序没有作用,没有起作用对吧,其实但是还是有作用的。在什么时候呢,当你如果说你想想看,你的部门很多。部门很多的时候,这个地方他是会起一个排序啊,或者就像我们之前所举的地方或。
06:08
对吧,你这个单词它就不一样,每个单词你要把。哈希值模拟出来的值为零为一的分别放在不同的两个文件里边。啊,不同的两个文件,然后你还要按照单词排序,哎,那这个时候它就是有作用了,有作用的了,你需要知道的就是。他呀。是它两个字段相同的时候的分区字段和缩的。排序字段相同的时候,你可以用。Class,哎,这个字段,哎来直接代替,还有一个我们来演示一下DSC好吧,啊,他不是说不能吗?我们来看一下啊。呃,我们直接查询一下那的他卖了,然后de我们就不打印到文件里面了,因为打印到文件里面我们已经知道是什么结果了,是不是,那我们走一下他说什么。
07:01
那东西多余了吧,就是说他不支持这种。你再额外指定它的一个顺序了。额外指定顺序了,他只有这一种顺序,默认的就好了,就不要再给他指定顺序了,好,这是。
我来说两句