00:00
好,那接下来呢,我们看一下这个distri啊,它呢是用来做分区的,它一般都跟我们刚才那个so back连用的,因为刚才so back是没有分区规则呀,我们按照部门编号说去排序,最后排出来结果。看上去有什么意义吗?不知道干嘛用对吧,根本搞不懂它是干嘛用的,这个东西因为随机分布的,所以区内没有意义,好那么接下来呢,我们往往是这样子的,先呢用范,然后呢去用。So back对吧,我可以按照部门编号进行一个分区,然后在部门内部按照薪水进行一个什么排序,哎,这个事情好像刚才我们提到的也能做。就是先按部门。排同一个部门的话,我再按薪水排,那用orderb的时候怎么写?来想一下谁来的?
01:08
然后呢,我们先按这个,我写一个第1PD number对吧,然后呢,我查一个,然后查一个from这个E,然后我们要写的order,先是第一批number逗号,然后加一个什么salary,大家走一下,这是可以啊,但是这种情况下你就能比较出来差别了啊,什么意思呢?来看啊。是不是我们的个数还是设置三个没有改过,只要用auto它都是一个,对吧?啊,它都是一个,等会我们来看一下这个效果。好,这边呢,是排序的没有问题吧,十二十三十五十对吧?啊是这样的一个情况啊,这样情况好,那我们再做一个改变,我现在呢,把它的一个修个数啊,因为我加了一个50啊,所以呢,我想给它变成四。
02:13
我变成四,然后我写一个什么东西呢,来看啊,还是一样的啊,跟刚才这个搜狗。但是后面这个东西我不这样写了,我还是查这三个东西,但那我后面呢,我用什么distri的,呃,我们按照什么第一批number,然后谁啊,注意我分了四个区。但是我们是十二十三十五十模拟四的话啊,主要是在于他肯定会有空的分区啊,他有空的分区。
03:02
那这个就需要我们可能要自定义分区去做,对吧,让他自己每个人呢,独立的一个分区。啊,这个就是说这个十和35这块,20是一个什么独立的区,你可算一下啊,它呢正好能整除是吧,然后30。去,因为他这个这个数字啊,对吧,模拟四的话,得到结果跟十还有50怎么样啊,是一样的对吧?啊是一样的,他那区内那这个地方呢,我们还是看不出来它分区的一个效果,其实这里面就涉及到有空分区了。因为20在零号分区嘛,按照我们含义值我们来看一下啊呃音色的。Right叫local什么啊,我们这样其实你看不出来它这个分区的对吧,那我们这样去看啊,还是一样的,给他写到什么文件里边,那我们加了disri的,我就这样写下RI版啊,我用这个目录走一目录啊,然后呢,把我们刚才那个搜给他写进去,刚才的是他吧,对吧?啊运行一下啊。
04:26
这样其实就会有空分区,空分区啊,就是因为咱们那个数据就是K,其实我们能看出来它是区内有序的啊,我们只要看分区内有序都得给他拿出来去看,因为你全局打印,其实你不太好看的,对吧。好,这写完了,写完之后呢,我们到这来,这边呢,会多一个叫第均的派对吧,四个,这怎么样,有一三是空分去吧,啊空分去啊,看了一下,这里边是二,我们当说了零号分区肯定号二么一思。
05:19
那不就是零吗?对吧,它进到零二分之,因为哈希分区不就这样来的吗?然后我们看一下一号位不用说了,这里边就是十三十跟50都在对吧?那如果说我们想通过分区,区内排序,区内有序的这种规则来达到刚才我们所写的outfi的规则,那这个其实我们需要自定义分区。对吧,就要把我们相同的数据呢,哎,把把我们不同的这个部门编号的数据呢,放在不同区里边,然后去排序,然后拼接起来,是不是就达到了之前凹那种效果,只不过这块是默认的一个什么分区规则啊,那你按照这个哈希来的,诶不是三号分区,是二号分区,对吧?这里面呢,就是有三十十。
06:06
50都在一个分区,主要是它们模拟四都一样的,但是我们看到它区内是不是是有序的。对吧,啊,它的区内是有序的,所以往往呢,So呢,一般不是自己单独去用,而是结合着我们的。DISTRIBUTE1起用啊,结合着DISTRIBUTE1起用啊,Distribu呢一个字段,然后呢,我们一个字段,哎,那咱们这样啊,我们能不能这样写呢?我还是over right覆盖到这个分区,我来做这个事情,怎么做呢?我按第一批的number分区,区内按第一批的number干什么排序?这种出来应该是什么效果,首先它肯定还是两个文件里面有数据,因为分区规则相当于没变,是不是应该还是两个文件有数据,但是结果跟刚才肯定就怎么样了,就不一样了。
07:24
对吧,啊好,这边走完了,走完之后呢,我们重新进到这里边看了一下零二十号自己,那你看这里边这个数据还有序吗?没去了,那这个就只有20号自己,我们说区内。这个排序看不到效果,对吧,看着十三十五十进行排序的,这个是可以的,对吧,我按它分区,也按它,它进行什么排序啊,区内呢,还是按照它自己排序,就是因为有可能你这个数据大于我分区数,一个区里边对于我这个K可能有多种,我想按他的一个排序呗,对吧?啊,其实就这意思啊,做到一个排序,所以如果说我们写的是这样的一个circle,就刚才我们看到这样的circle,我们就不这样写了,我们就不这样写了,我们怎么写呢?下面还有一个叫by class呢,就是当RI by和S相同的时候,可以直接用class。
08:34
啊,可以直接用class by,但是class有一个缺点在哪呢?它不能指定升降序,也就是说你不能写DC,它只能是AC的,那默认的没法写了啊,那我们来看一下这个东西还是一样的啊,我给他写到那个哪呢class里啊,写到这个文件,然后查询语句,我稍微改一下第一批订单我们应该用什么呀?Class版对吧?他其实就是说刚才那两种的一个综合写法。
09:11
啊,就是如果说当你ribu跟solid字段完全一样的时候,我们可以用class来代替啊,但其实这种比较少啊,因为其实说实话两个分区字段跟排算同一个,这种需求比较少见,这很奇怪对吧,他还是四个区啊,因为我们设置的14个区,因为他内部还是用的说。好,然后呢,我们去看一下这个数据啊,呃,应该有一个什么class,看还是一样的,对吧,只有零二有数据啊,看了一下零排量,然后呢,看了一下我们主要看那个二对吧,是不是还是按照十三十五十这样排行的呀,对吧?啊还是这样的一个情况啊,因为刚才说了呢,相当于RI跟so字段相同的时候,但是这个时候你加DC,它直接就怎么样报错了,说这个DC就不认识对吧?啊不认识它不允许你去修改它的一个排序规则了,但是之前的这个语句啊,这个来看一下,我们再看一眼啊。
10:25
还是查证东西对吧,De number,然后呢,按de number排序对吧,那这个时候我加D呢,这个是可以的对吧,所以说嗯,Class班这个东西也不太常用,但是经常在面试的时候呢。就把这四个BY啊放在一起去说,就是刚才我们看这个官文档当中的就这四个东西,对吧,因为它是跟排序相关的啊,虽然class是用来做分区的,但是那个分区呢,是为了干什么。给so的去排序用的,所以呢,也放在一起了啊放在一起了,这四个东西尽量在一块去比较。
11:07
这个是倒序对吧,正常的在这个当中按照部门呢,同一个分区内按照部门倒序,这个20号部门是不是独立一个分区啊,所以正序倒序你看不出来,那都是20嘛,这个是不是能看出来倒序了五十三十十对吧。
我来说两句