00:00
好,那接下来我们看一下这个orc的一个格式,刚才我们说了orc啊,还有这个啊,都是基于什么。列存储的对吧?啊,都是基于列存储的,也就是说它里边的数据是按照什么。列一块一块来传导啊,克拉一克拉二克拉三,但是有一个问题,有同学应该看到这个点。那你不是列成的吗?怎么上面有个克,下面又有个克。注意,这个是一张表啊。这块是一张表。是这样的,它这种列存储啊,它不是真正意义上的一个列存储是什么意思呢?因为按照列存储,假如说这个数据有十个亿,10亿行。那按道理来说,列存它应该把11行数据存在一块儿了,它不是这样的,它分段列存储。它叫分段列存储。就是说你假如说有11行,我不是说把这11行数据这一个列的11条都放在一块儿,而是说我把它分成一段,而且默认的应该是一半。
01:08
看一下默认的1万。也就是说你这个地方呢,有2万行数据,假如说。2万行,他在中间干什么?截一刀截一刀,然后呢,这个1万行,我把它存成什么。按照我们之前所看到的列式存储这种方式啊,把这1万行先存完,存完之后再轮到你这个什么。1万行啊,1万行是这个意思啊,1万行,所以呢,他这样存储的时候,它就要有一些,所以。因为你是1万行1万行分开的,那我知道。我这个具体的数据是属于21000行,到底在哪一块存在的啊,它是保留的这个内容,所以呢,有一个索引啊,一个索引,然后呢,接下来还有十这个才是我们要什么。存储的是具体的数据啊,它分为多部分的啊,这块说了先取部分行,然后这些行里面呢,按照列进存档,就我们刚才所说的1万行。
02:08
一个就相当于把一个大表啊,给它拆成很多的一个小表,然后把每一个小表按照什么。练续存能理解这个事儿。有点晕是吗?首先这个东西现在能理解了,就是列存储这个事儿啊,列存储这个事儿,接下来就是你看这个是五。五个数据吧,假如说我刚才看到默认好像是那个。1万行吗?假如说现在默认马上五行。对吧,啊,默认还是五行,他先把这五行数据来一个这个。存的正常的,如果说磁盘,假如说我们把它全部展开展平了,对吧,所有的地址呢,给它展平了,接下来从A6这不有A6A7A8B6B7B8吗?它这样的在这后面再来一个什么。
03:00
A6A7A8,然后再后面是B6B7B8,然后C6C7C8是这样存的,一块一块的就是一行,就是以一个固定行给它拿出来做这个存储的。啊,做这个存储的啊,这块呢,你需要关注一下这个点就行了,在面试过程当中,他不会去问你这些到底是怎么存的,底层的一个概念啊,因为工作当中不会关注到这么细节,但是呢,你既然咱们学这个东西,所以呢,把这个东西做一个了解啊,做个了解默认呢,其实他是你要这样说的话,它这个列存储啊,实际上应该叫行业什么。结合的。啊,行业结合的是这个意思啊OC,而且这个东西啊,为什么要讲这个,其实在生产环境当中,Orc格式用的相对来说比较多一点。啊,为什么多一点,后面我们有这个测试。压缩和存储方面的一个测试,你看一下它存储文件的一个大小啊,压缩比等等方面,你就能感觉到为什么生产环境当中会用它了啊,为什么会用它了OC啊,做个了解这个东西,然后接下来是他他的格式呢,就完全做底下的一个东西都看不懂,就是它存到那个数据的一个东西,不像刚才我们耐力压缩了,还能看到什么N20之类的东西吧。
04:13
因为怕呢,这个东西就看不懂了,它其实也是这种行列结合的啊,行列结合的这个图呢,我我想换一下之后,之后我再换一下,因为这个图太主像了。对吧,能看出来这里面什么东西吗?其实它也是按列存储的,什么column a column b,然后它对于column a还做了什么事。还做了分页啊,就是这种格式呢,因为它是后出的,它是后出的啊,因为这种列存储呢,你要注意一下,它也是这种行列结合的一种存储方式,但是呢,它能做到更精细化的对于行业的数据做一个管理。啊,作为管理我们更关注的是OC了啊,更关注的是OC这种格式,这个图呢,最后我我应该给换一下这个东西呢,看就很不舒服啊,看着很不舒服,主要咱们了解一下,就是它是总体上我们说的orc和这个puppy。
05:13
都是以。列存储的,但是呢,实际上我们所聊的它不是真正的什么。列式存储,它是行列什么结合的,它是以某一段数据,然后呢,这一段数据我们按照列来存储,行列列来存储,而同时它被这种呢,它还是以二进制方式来清除的。他自己解析的,也就是说你建的表,如果说你这个,呃,Have,假如说不支持发费这种数据,你把话费针给他,他就根本就读不进来。啊,根本就读不进来,这个呢,我们要做一个啊了解啊,做一个了解这块的东西,然后接下来我们更重要的是看这个。因为刚才那个段西呢,比较抽象,因为涉及到底层存储啊,还有磁盘那些东西啊,这块呢,你去做一个了解,或者说有兴趣的可以去搜一搜啊,把那个什么磁盘磁道啊,包括那个你要有兴趣把这个东西三个东西做个对比,磁盘内存还有一个固态。
06:10
你看一下物理结构是什么样的啊,跟那个电阻啊,电容啊这些东西有关系,对这些东西还有印象吗?电容电阻这些东西怎么换呀,对吧,去去看一下,如果说有兴趣的没兴趣就算了,作为一个扩展知识自己去了解一下啊,因为你学计算机的了解这些东西不是什么坏事啊,如果学有一这些同学了解这些东西不是什么坏事,OK吧,好,嗯,来我们看一下主流文件存储格式的一个对比。啊,对比,那我们主要对比的是压缩比和查询素两个毫米。啊,长期的两个方面,首先呢,这样我们有一堆数据,我给他拿进来。这个数据数据集应该就不小了啊,都是应该是买了一些淘宝数据吧。
07:00
然后有一些什么淘宝淘宝的,有看到淘宝。这个有啊,都是买了一些数据啊,不管了,直接拿过来看吧,啊看我在这个地方。C到这个他里边VI一个那点叫他吧,无所谓。这个我应该给他分享,因为你要做这种测试的时候,你说三五条数据。你测出来有什么意义吗?对吧,啊等一下。但我记得这个东西好像。对,我刚才这样,你们到时候应该这样,我记得这里面有。原始数据,哎,不是这个。这个应该给的应该是18兆,我记得是。对吧,应该把这个,呃,那这样这个呢就不要了。
08:13
不是它是显示你知道吗。它是要刷显示的过程的。其实它可能已经粘进去了,但是因为你要显示它就会变慢了,对吧,那我们导进来啊,我们导进来啊,在这CDOD,然后这个Mo。对哈,对吧,哎,给他家我记得应该是摘出了,提前准备好了,这个不要。这个啊,18兆的数据对吧,18兆其实也不大对吧,18这个就快多了,好然后呢,我们把表接了一下,这个数据集当中呢,有一些东西啊,就是第一个时间ul地址对吧?Session ID引用哪来的IP地址访问的啊,结束的什么U的ID,什么城市ID从哪个城市来的啊,此时呢,其实我们不只逼这个内容,默认的也是什么。
09:00
赛啊,但是呢,我们显示的来指定一下啊,显示指定一下啊,按杠分割,然后把这张表一下,然后把数据给他干什么导进来漏的叫吧,我们更要的是看中这个对比叫。底下有一个log,对,Log叫log。呃,Select的新from log我要干什么的,两条看一下吧,你不要,然后又刷半天对吧,数据OK吧啊,数据导进来了啊,两条你不要就忘了,然后没写秘上,然后又半天啊。好,这个东西呢,我们已经搞定了,搞定之后呢,我们就可以查看一下里面那个文件大小,因为T它是一样的啊,它是一样的,那我们可以看一下来。这个呢,Du-H在第六个组件系统查看一个目录大小怎么看。
10:06
DF-H。对DF-D-H查看磁盘,那同样的在Linux也是用的什么。Du,对吧,查看你看18.1兆没问题吧,对吧,我们刚才导的数据,我们刚才在Windows不是看了一下吗?啊是这么大,这个没有问题,好,那接下来我们要用测一下什么。Orc,那orc它跟刚才的表的区别就在这。对吧,它的一个使用是很简单的啊,不要想到刚才我们看的这个东西图啊,乱七八糟的那么复杂,对吧?啊,它的使用是比较简单的,前面这个字段都一样啊,前面字段都一样,那我们把它干什么?看C拿过来,这个时候呢,是简单的OC格式啊,并没有启用压缩啊,没有启动压缩啊,然后呢,我们把数据给它干什么。
11:00
插到这张表里边吧,CTRLC,你不要说这个时候把用log命令加载的这张表。因为漏命令我们之前说了是不是负呀。逆上传的还不是T对吧,我们要用什么查询的方式能理解这个事,你不要想着我们用漏加载进来,你看18.1到。那肯定是8.1到嘛,对吧。用这个啊,用MR里的方式啊,它才会存成OC格式啊,存成OC格式。你看这个就是简单的导数据,这个时候就没有什么维R,因为简单的导数据我要维干嘛呀,对吧。这个导完之后呢,我们也同样的查看一下这个log orc,注意一下这个是就是。Word文档你看。看着像空格吧,实际上有下划线啊。实际上有时就是word里边有时候就会出现这种奇奇怪怪的问题,我们等会粘到这来,你看。
12:04
有吧,啊,这是有了,把这个风格改走一下。2.8兆。2.8兆啊2.8兆,好,继续我们再看一下谁啊帕贝啊,之前做的也是2.8兆对吧?啊,这属于集中一样的,现在怕贝呢,就多的S什么。把它拿过来。C啊,其实你都看到结果了。13.1是。这个也有一些变小了,对吧?啊,但是呢,它没有没有那么小啊,没有那么小,就是因为这个OC啊,它默认的,其实呃,你单独的使用OC格式的时候,它是开启的压缩的。啊,对于orc格式它是开启了压缩了,所以呢,它更小一点,开小一点好,然后呢,我们同样的来看一下这个什么。
13:00
大小啊,结果能看到13.1对吧。10.1啊,就这个内容13.1兆啊,13.1兆,那都比我take file要小啊,啊都比我take file小,也就是说那生长环境当中,我们虽然说了用的更多的是一种OC的一个格式啊,用的更多的是OC的一种格式啊,OC的格式好,那这块就涉及到一个问题,那你说了OC的一个格式要没问题,接下来还有一个,你不是说生产环境当中还用那个压缩方式吗?你orc不是文件格式吗?对吧,那我们这个时候就来用一下orc的格式和是吧snap压缩两种结合的东西来看一下啊。首先这个地方就不用对比了吧,啊,这个能看出来,然后呢,我们结合着去使用一下这个内容。啊,结合着去使用一下,这个地方呢,就是我们所说的这个内容,嗯,那结合使用等会吧,我们刚才只是看了谁啊。压缩比对吧,那我们把这个查询速度看一下。
14:02
这是之前的一些测试啊,首先count新是不是做计算啊,从这个log text里面去做。好,走。我这次看一下多长时间之前呢,都是什么,二十一二十左右对吧左右。不是,这个是针对于这一个情况,三次的内容,你多做几次对吧,一次不说明什么,我说明问题啊,不说明问题。其实他们查询效率差不多。啊,这都是之前做的啊,分别做了三次啊,其实查询效率呢是差不多的,那既然查询效率差不多,我存储格式你是18兆。我这个地方是多少啊,2.8兆,那你按照你来说,你选择哪个。Orc吧,因为我数据量小了,你虽然压缩了,或者文件格式变了,但是我从查询的角度来说,并没有说什么慢很多吧,啊,并没有慢很多,那这个就是我们可接受的,OK,这一次报错了。
15:09
神奇啊。呃,我看一下这个地方怎么出了什么问题了,他说这个snap有问题是吗。没有添加那个支持,不是我关键最最重要的问题,没有开启那个压缩呀。对吧。这个这个文件不是这样选的啊。没有开启啊,他凭啥会报这个snap不支持呢。不是写的这个X啊。等会啊,而且这个东西我们是用load命令加载进去的,它跟这个有什么关系啊。
16:00
Have warehouse,然后这个。叫log text对吧。Log点呀,它又不是S,这个报的错,就很不能理解了。Good study。嗯,我想想看啊。Snapy压缩中间过程开启了stemy压缩。输出build out啊,应该跟之前我们开启的那个内容有关啊,对开启的那个内容有关的,来重新进一下,我们之前是开启了中间的一个压缩方式等等那些东西啊,中间过程啊,中间过程有问题,我们重新看一下,然后呢,我们去查询一下,把这个走一下。因为对于这张表我们没有开启三,但是对于这个全局的整个环境来说,开启了整个的一个STEM啊,所以应该是有问题的。而且很明显的是,我们之前还测了一下这个。
17:02
对吧,输出文件点都出来了,所以说这个是支持的,这没问题。这就好了吧,这次时间你看电脑应该是越来越长了,是不是。能看出来吧。对吧,你看之前。二十一十九对吧?啊,那我们再看一下它啊,这个是OC的。发现通过这个例子也能看出来,电脑越来越长,换电脑,你们怎么天天都想换电脑?韩总出来天天让韩总换电脑,是他天天说要换电脑是吗?太慢了,频诺卡那太过分了,哎,这个OC稍微的快一点是不是。快一点,你看之前也是稍微快一点看见对吧,都是这样,所以说他就没有生存的余地了,是不是模糊,所以生产环境当中,我之前就说了,用的更多的还是orc格式啊。
18:09
但事实上,我不能理解的是他的一个PU,这个是后来的,他居然没有做到后来居上。对吧。他是不是。优点。列存储列存储其实因为有的东西它不支持OC的时候呢,有的框架对吧?啊,那肯定是这个东西既然存在肯定是合理的嘛,那这个时候发现它还是跟这个,那这个东西也太满了,25对吧,这个20这21啊,其实总体来说啊,总体因为咱们第一个数据量,第二个是虚拟机啊虚机你就这咱们现在是多少10万条数据。10万秒数据,然后拿的是虚拟机,所以呢,这个东西呃,我们能测出来,更重要的你能测出来速度相近,你说绝对意义上它快不至于,不一定啊,不一定,如果说你数量大了几十亿。
19:12
几十亿表数据的时候,对吧,拿着服务器去测的时候,就不一定是这个结果啊,但是基本上就算你拿服务器测,基本上他们是接近的,接近的有时候他快一点,有时候他慢一点,但是整体速度来说都是都是接近的,因为你看这个20多秒。我们要把那个整个的,因为我们要测它这个读取时间,对吧,你想想看,你这个GM整个哈多管任务提交开启呢。和关闭呢,它占的时间就很长了,实际上对吧,你假如说一条数据你去更新,我估计也得实际上。对吧,啊,一小数据也是几秒,所以呢,他们速度之差不是插在说数据量啊等等这些上面,而是插在机器性能上面啊,插在机器性能上面是这个意思吗。
我来说两句