00:00
那接下来呢,我们针对于这个分区表呢,做一个事情之前我们是不是干过这种事,他什么事呢,这个这个表啊,可能还没有创建,我们自己make个DR,把这个表明对写好,然后呢,往里面铺一条数据,我然后去建表,数据能不能查到。来就是说我刚才要做什么事长,我先在hdfs make DR,一个文,一个目录,然后呢,我铺的一个文件到这个目录里边啊,这个目录假如说叫A啊,A就放在use have willhouse底下,我创建了一个A这个目录,我然后在have里边,我去create AA这张表啊,也没有指定其他路径,就是这个路径,这个数据能不能查得到。可以吧,啊,因为我们前面是不是相当于放数据,后面这个位置是不是相当于创建了原数据,是不是这个语句一执行,是不是在MY当中就有对应的这个表的信息了,对吧?好,那基于这种情况,那我们都知道have是这样玩的,哎,我来做一个事情,我做什么事呢?现在呢,你看啊,这个表是不是有了,这张表,我用这张表,这张表有了,然后接下来我做一个什么事呢?看一下爬肚子FS杠那边,然后到这来啊。
01:31
这张表我把这个拿一下进到这来了,我不要二八了,二八肯定是报错,对不对啊,我创建一个什么二九。好,29有了,看上去还伪装的很像是吧,是不是像一个分区啊好,那接下来呢,知道我要做什么事了,好的,把FS杠不的第一批B,我就用个一随便吧啊,然后呢,给他扔到这个。
02:11
诶啊,这个跨行了,这个不行啊,嗯,这个东西就比较恶心啊,就这里边,然后呢,你看他自己跨行了是吧,就有时候是这样的啊,我我先处理一下,在这摘出来,那之后呢,把这个东西干什么,放到一行啊,主要是跨行了,跨行了这个命令呢,它它就不认识啊行,我们重新走一下啊好,然后呢,我们进来这边有一个数据吗?对吧,跟其他一样的,那大家觉得这个东西我们能不能抢得到s select的新from第PT下划线撇是不是往这张表里放的呀?对吧,如果能查到就是八条数据,查不到就是六条数据,哎,不对,是几条啊。
03:00
哦,这个是刚才那个错误的数据导致的啊,这个我给他删掉,这是刚才那个执行有一次命令执行错了呀,对吧,他自己删成的啊啊这里边应该28号没有数据吧,对吧?那也就是按照一个分区当中两条,那如果说这个能查到就八条,查不到就六条,对吧?那大家觉得这个地方能不能查得到,跟我们之前说的那个表有什么区别吗?刚才我在聊的时候说先创建目录,然后往里边放数据,再去建表可以对吧,这个我们都测过的,现在呢,你表都创建好了,然后我自己创建一个分区路径,我往分区里边放数据,能不能想得就有,而且你看这个分区信息20有吗?而且你这样受受,然后呢,第一批小发现这个什么。
04:15
有29号这个分区吗?没有没有,那大家想一下,这个对于分区表,我们这样做跟跟直接对一张普通的表用同样的做法有什么区别?还是原数据这块的问题,因为分区表原数据就要更多了,它不光有表的路径,还得有什么分区路径,刚才那个分区就是这个看上去像是分区的东西,是不我们自己make DR创建出来的,既然make DR或者说put这个是IDF命令,它会去修改原数据吗?它不会,所以原数据当中没有这个什么分区信息,所以它就扫描不到这啊,这个时候那怎么办呢?大家想一想,对,我可以艾,也就是说接下来我们要聊这个点啊,让分区信息产生关联的啊,产生关联的方式对吧?第一个呢,有修复分区。
05:21
啊,执行这个命令叫修复分区,它会去检测你所有的目录结构啊,它会去根据什么呢?根据HDFS这个目录信息,去把MYS克里面的原数据信息给它补充完成,它检测到十月29,诶这个目录在,但是发现原数据当中是不是没有它呀,对吧,我们可以看一下原数据当中肯定没有刷新。只有28吧,没有29对吧,47那张表这个分区是48,就是另外一张表是那个二级分区那个表对吧?啊,这不是一个一张表啊,对于这张表而言,他发现啊,哎,只有28,但是在IDFS上怎么样啊,有29,所以它可以修复,这是第一种方式。
06:07
啊,那我们来修复看一下,就执行这个命令叫微派,然后跟上我们的表明。看他做的什么事,添加了一个12号分区,对吧,那我们再受受这个12就有了,那我们再去查这个数据呢,肯定就能查得到了嘛,对吧,分区已经修复了,这是第一种方式啊,采用先,也就是说我们手动往里面放数据,然后呢,你得修复分区,这是第一种,第二种,大家刚才都说了,我们可以手动的自己去干什么啊,添加分区对吧,那我们也可以把这个事情做一下啊来呃,我们还是创建一个目录,这个我防止它又是括号,你看果然是吧,我再来一个什么30。啊,然后呢,我们数据往里放,我也拿一下啊,这个是数据往里放。
07:07
这个呢,我来一个什么30对吧,这两个命令呢,我们都执行一下啊。好,那么此时还是一样的,我去查的时候,这个10月30号这个分区会出来吗?不会对吧?啊,刚才我们用的是修复分区啊,大家都知道,还有一种就是添加分区,那添加分区我们添加一下叫al table,然后是表明对吧,第PT_KR这张表,然后。二我们得等于什么?2020杠幺零杠三零好,这个时候我们再去查一下30号的有没有啊,有啊啊30号的有了,好,那么还有创建文件夹后漏到分区啊,就是说创建文件夹好以后,我们不去干什么事啊,不去put的,不去put的直接漏的,其实我们都知道,这个时候李玲文件夹不用创建load肯定可以啊,对吧,我们都做过的,它会自己去创建,也就load这个命令呢,之前我们就聊到过,它会修改原数据是不是啊对吧?之前就说过load命令呢,它不光简简单单的去put的数据,它还会干什么,修改原数据啊,修改原数据是这样的一个情况啊,呃,也就是说你可以往一个已存在的这个分区当中去漏的数据,这个是没有关系的,因为假如说我数据本来就要添加。
08:42
对吧,啊是这种最后一个呢,就不用演示了,因为我们之前都是用的log命令,他会去添加这个原数据分区的原数据信息,对吧?那其实我们聊到这块为止啊,跟前面的理论没有冲突,就是说前面我们之前说过,你的原数据和你的实际数据只要两个存在,不管谁先谁后,是不是都可以查到出去,对吧?分区表那个电压分区,然后往里面放,查不到那是因为少了什么。
09:12
原数据对吧,而我们使用修复或者使用添加,或者使用漏的这几个命令,都会去添加原数据,对吧,都会把原数据给它补充上,主要是这个意思,所以这个在这块啊,好像看着好像跟前面有矛盾,其实不矛盾,对吧,因为分区表呢,它跟普通的表原数据不一样,普通表就是一个表的原数据,而对分区表除了表的原数据之外还有什么。分区的元数据嘛,对吧?啊分区信息,那你看啊,这是我们建了两个分区表,它才有这么几个分区,如果说没建这个分区表,这些分区,这个表就是根本就什么就是空的,是不是就是我们之前建表的时候,这里边能有数据吗?没有,你看这些东西嘛,不是我都是我们刚刚才有的,对吧,以前是空的,因为以前的表呢,它不是分区表,所以它压根就不存在这个分区的原数据信息,那你随便往表里边放数据,那肯定人家能查呀,对吧?啊,肯定人家拿查是这个意思,好。
我来说两句