00:00
我看下后面这个压缩和存储,压缩存储,其实压缩这块内容在哈多阶段已经讲了很多了,是吧?啊很多了,但是没有讲那个。没有用对吧,没有用吧,那到了还有一块呢,我们用一下,那其实你想用。它得编译啊,编译进去,因为它是不是我们之前说过,它如果这个框架它本身是不支持STEM这种压缩方式的呀,所以说你要想用的话,你得给他编译进去,那编译的过程呢,跟你编译之前他都管源码一样,因为你那个时候的编译啊,只是把本地库编译进去了,现在你要编译的话,你要把snapy编译进去,就多了一个snap的一个加包。你给它编译进去。有兴趣的可以去自己编译一下,当然这一块我们主要讲了一个,哎,不用自己编译的那种方式,不用自己编译的方式在这啊,注意看这不第八章吗。
01:02
在这个地方8.6最后一节里边啊,前面都是介绍,那我们先把咱们那个哈多集群啊变成什么。支持莱比压缩方式的啊,支持比压缩方式的,然后之后我们再去介绍这些内容,好吧,那我们看一下具体的这块内容啊,你到时候对照这个做一下就OK了,我呢就直接来操作一下,你既然要改变整个哈集群,它支持压缩方式了,那你集群是不是要停掉,然后重新开啊,啊肯定要这是要这样的好那哈,如果集群都要停掉了,你这个害我窗口你开了也没有什么意义了,是吧。退出一下。退出,然后把这个也退出CTRLC干掉就OK了,然后在退出之前啊,我们先看一个这样的内容。他有一个哈杜,你查一下回车,它有一个叫这个命令检查什么。
02:06
本地库是吧,啊检查一下这个时候你发现。那是吧,也就是说因为我们是只是把简单的你nu个系统呢,他那个本地库编译进去了,并没有编译snap进去,现在呢,我们就要想办法把这个编成for,它就支持了吧。不是变变成处是吧,还变成false,那在这个做这个之前啊,我们先停一下我们那个集群。然后让他停到,然后我们接下来需要干一个什么事呢?CD到OT底下,注意这个地方已经给他提供好了一个什么。支持三压缩的一个哈,我炸包,这是已经编译好的,编译好的有的同学说有可能要重搭一个机群是吧,不用在我们现有的机器上来改,改成支持那压缩的,那怎么改呢?你先把这个搞进来。
03:06
还是放到那个。扫不到底下,那把我之前的那个账号冲突了是吧。无所谓了,谁老。这样你只看见了一个大包的是吧,因为我们之前的加方是重名的,它就给它覆盖了他一下杠ZXV啊是吧,它逗号给他解压一下,我们就不解压到什么,其他地方就解压到当前目录可以吧走。好,CD到哈多。然后。保下,然后还有个native吧,里边看一下。你看这是我们刚才解压的吧。是我们说编译过的,然后支持带压缩的,那我们看一下这个。这是不支持snap压缩的,看它对比一下,能感觉到它少了什么snap这种内容吧,现在我们做的一个操作是什么呢?CP。
04:11
当前目录的所有内容。啊,到我们的OT model这个路径你不要写错了啊,你看一下,我先给大家看一下PWD这个地方,这是搜底下的。啊,这个里边的哈,多宝是我们。可支持斯耐压缩的,对吧?哎,支持斯耐米压缩的,接下来我们是要CP当前目录所有的内容到我们OT model,这是我们一直在用的这个集群吧,哎,路径你要掌握一下,Label下载native里边吧,好好,现在你到这个地方来看一下,还有有。这个东西已经被拷过,拷过来了吧,拷过来之后就OK了,然后CD出去,你这个时候把集群重新启一下。
05:01
就做这个操作就OK了,主要是他一个本地库嘛,本地库编译进来,你编译编译进来也可以,或者说你已经找一找一个人家编译好的,你给他导进来也可以啊,这也是可以的。但是我们讲这个编译过程啊,你自己还是要干什么。尝试尝试吧,你们之前那个编译本地库那个自己尝试过了。环境好没成功是吧,你回去试啊,在教肯定不行啊,在教室肯定不行,编译这个其实你说对于学习有什么作用,其实也没什么作用,主要就是面试的时候,有时候人家面试官冷不丁的来一句问你编译过你骂没有是吧?你没编译过你你当时就虚了,你当时就虚了,其实你说编译就完全。你肯定是照着文档,或者说你都找一些资料,没有人那个过程谁全部能记下来啊,没有意义是吧,任何没有任何意义,重要的是人家就是突然给你冒一个什么特别奇葩的问题,他其实也想问的问题就是你是不是真的在这个这行业干过啊,就是这个问题,所以说有时间的话还自己尝试着编译一下啊,但是最近发现这个问题问的越来越少了,是因为现在其实咱们那个机器性能越来越上来了,编译已经不成什么难题了,现在过去它编译一个哈的委员嘛,可能要真的就是一两天或者长的再早一点,一个星期的时间了,我这样的啊。
06:36
所以说他之前就是再往前的话,他问这种问题问的比较多一点,但是现在从最新毕业初级的班了,发现这种问题问的相对来说更少一点了啊,但是也还有,所以说有时间的时候,你们自己还是尝试着编译一下,就感受一下他的一个过程,对吧,他问到的时候至少你不虚了啊,你不虚了好,这个时候我们已经把我的机器开启了啊,然后再它都把。
07:05
命令我也记不住啊,差个不是吧,走一下。发现snap变成true了吧,哎,然后指向的是你当前的这个目录的上面一个点,So文件,点压缩文件啊,这样你的他都跑啊,就变成了什么支持来比压缩的了吧,啊这个来比压缩的了,你就找一个人家编译好的,你把它的一个点压缩文件全部拷过来就OK了,好接下来。我们具体的讲什么这块注意啊,在8.6这块。这款。然后这是边缘码我们就不看了啊,源码就不看了,然后具体的这一块的个压缩配置啊,其实大家都见过。你看这是不是好多文档里边有啊,啊全部都有,主要是比较这几种的一个。
08:06
优缺点吧,它的一个压缩速度啊,一个解压速度啊,然后压缩之后的一个大小啊,最后得出来结论是什么最好用啊。Snap最好用吧,啊,但是当时没有给大家讲那啊,就是分析了一下,然后找一些资料啊,或者说在我们现有的能用的基础上。哎,去测了一下,最后分析的出来啊,这个snapping啊是最好用的啊,所以说我们在公司当中开发啊,他们也是。用的最多的就是耐Y这种压缩方式啊,耐力压缩方式,所以我们在这块呢,就告诉大家怎么去编译这个耐支持耐比压缩的一个。哈,做过吧啊,你可以如果公司当中用到了以后,你不用说把公司当中集群重新搭一下吧,你可以拿你自己的工具按照公司的版本去编译一下,然后把它那个点so文件全部拷过来,它就可以了吧,啊就是这种方式啊,比较方便,不用重大集群了。
09:05
然后后面是它的一个压缩参数的一些配置,你看这些配置都在set里边吧,哎,我们讲。Have,你的一个调优也好,或者说你的一个执行效率等等这些内容都好,你肯定要想到是M啊,一定要追到底层的一个MEMORY6,所以它的个压缩方式,那肯定就是麦的一个压缩方式,还是那三个位置吧,输入的时候,然后脉输出这种,然后输出的时候吧,哎,都可以执行压缩,然后你注意啊,这个地方。就是have当中的一些操作了,他在你之前。你在map reduce当中。如果你要想。这些地方能成功执行的话,首先你要把这个东西打开吧,它默认都是false是不是啊,不采用压缩方式的,哎,输出的都是输入啊输出啊,都采用那种TXT格式的。啊,你要把这个打开,打开之后,那在have当中你要用的话,你在have当中,你也把它这个相应的功能打开。
10:08
下一个功能应该打开,那我们测一下,首先它打开了一个压缩方式是吧,就是让他允许采用这种压缩,采取采取压缩。啊,这个地方我们还是看一下那个服务是吧,Model。你要想让他支持压缩,你肯定要让他。打开他的一个属性吧,搜兔。然后这个地方CD点点,然后have里边,然后我们在这个地方开那个什么line插入嘛,远程的连接一下我们的have so to这个服务,这个have so已经启动了。B。好杠connect,然后建立BC冒号,然后是。
11:01
然后。哈渡口102,然后1万单个号。然后是他的硅谷没有密码进来了。进来之后,我们先看一下咱们这个属性它默认的是什么样子的,在哈当中它这种压缩方式的默认的是不是都是关掉的,那在哈当中呢。它也是都是关掉的吧,啊,你要想用压缩方式的话,你肯定要把这个属性给它。打开吧,把这个属性给他打开,打开了,打开之后你还可以开启一个。卖火输出的一个压缩,它默认的。同样的,先看一下他那个默认值啊,像这种压缩方式,他肯定默认的都是什么关闭状态了,你也给他打开,打开之后你要指定一下它的一个压缩方式吧,啊,他按什么内容进行压缩,它的一个压缩的一个编码格式,它默认的是什么呢。
12:06
默认的是什么?一个default对吧,那现在我们已经这个哈,如果是支持压缩的,那我们现在改成什么耐压缩的看一看。其实你像这种啊,你说做一下之后,其实你也看不出来什么效果,你像我现在执行。Select的新ERP这张表。你说你要看到什么内容,能看到他一个压缩效果呢。根本看不到对吧,而且这个snap那新它根本就不走吗?那六那我们换一个,如果说我们查询的是。Some some,它是走的吧?我们看能不能找到一点它中间用的压缩的一些内容,对吧。
13:05
主要从他的一个日志里边是吧。首先这个如果能查出来内容,说明我们无论打开或者说关闭压缩方式,这个ma还是正常能跑的了,Ma都是能正常跑的。好,你在这个地方是看不到任何内容的是吧?哎,你可以在哪个地方呢?来你不有一个哈多跑0380吗。然后这个地方刚刚执行的这个任务是吧,因为我们集群是重新启动的这个地方,你看那个时间点就是执行的这个语句嘛。这刚才是不是我们执行的这个孩子啊,你点进来,然后它那个一个任务在这。
14:04
在这之后看他的一个日志是吧,哎,他的日志呢。他的一个任务,等会啊到这。具体的任务history啊,点到这里查看它的一个历史,历史这有一个什么。看见没?Configuration这个东西就是具体的。你的配置信息,配置信息你在这个地方可以搜索相应的所有的内容,那我们看一下它的一个压缩方式是吧,看这能不能找到,它是不是从这传进来的。来,CTRLC。你想想看这个配置信息啊,它肯定是你封装交了的时候,封装那个专过的时候给它封装进去的吧。
15:00
看它是不是在你help窗口里面改为住以后它这个地方。在你执行map任务的时候就能给获取到啊,那你想想看,我们现在map就是哈多那个配置文件里面,并没有去给它改为出码,也没有指定它的一个压缩方式是什么嘛,但是你看你指定了,你在焊窗口里边打开了它的一个压缩支持,压缩以后,同时你指定了它的一个压缩方式以后,其实你在执行具体任务的时候,你每一个参数它都会获取到。每个参数都会获取到。当然你这个结果上我们是。看不出来什么效果的,对吧,所以说你一定要在日志里边去看看它一个属性有没有生效。你想想看,这个configuration是不是当前这个任务。当前这个map任务所带的所有的一个配置信息啊,啊,所有的配置信息你都在这儿可以找到啊,有任何的一个属性。
16:00
这个地方给它干掉是吧,有任何所有的一个属性在这边都有,这有很多的一个页,很多页,所有的一个属性都有。这是我们所讲的你在have当中要使用压缩,或者说你要指定压缩方式,你怎么去做,怎么去做的问题。然后还有reduce端的一个输出是吧,那个输出我们就能从文件当中具体的看到了。因为你看啊,这两个东西,其实当时我们做测试也一样嘛。在M6当中都做过测试了,Ma端的跟六端的,但是这两个东西。你说你通过结果是看不出来的吧,因为它是中间过程啊,它是中间过程压缩的。嗯,通过结果看不出来的,所以我们只能执行一个语句之后,然后去干什么,看一下它那个日志啊,看他的那个配置文件有没有生效,但是你要注意reduce最终输出就能看到效果吧,因为它能输出到具体的文件,你要看这个具体文件它是不是一个压缩方式了,来,那同样的你要开启它的什么。
17:13
这个刚才我们已经开启过了,是吧,这是整个的。啊,就是have当中它要支持压缩,我们没有开吗。上一次我们开的是单独的map是吧?这个输出改为处啊改为处,好,接下来还要改一个最终的一个这个地方,就跟刚才麦一样,把这个地方也改为出,那我们就不看它的一个默认值了,好吧,啊,默认值肯定也是false。然后指定它什么最终输出的一个压缩方式,它默认的都是default嘛,那种方式是不是啊就三个。Map不有三个阶段嘛啊,它默认的都是一样的,首先都是force啊,都是不打开的,然后它的一个默认的一个压缩方式呢,都是default那种方式,那我们现在改成selected ctrl c拿过来。
18:04
赶紧过来走一下,OK。好之后。这个快压缩好压缩都无所谓吧。这个当时有有讲过这个问题吗。就默认的它是什么。它是行嘛,它一行一行的,你行压缩跟快压缩,只不过快压缩的话,它效率会更高一点,是不是啊,因为它一块一块的来进行压缩,不是一行一行的,那我们。嗯,都测一下好吧,先测一下不改的它就是行嘛,那我们看一下这个啊,它的一个默认值是什么?CRC默认值应该是扣的是吧?行。靠的是一个行,一行一行的。咱们先不改,就按一行一行的进行压缩,然后执行一个文语句,写到具体的文件里面,写到具体的文件里边。那我们就直接摘下了啊,来看一下这个语法好不好。In色red log directly这固定写法吗?你要想写到本地文件里面还这种,然后后面跟着是具体的一个路径是不是,哎,具体的路径后面呢。
19:09
查询语句吧,查询语句这个东西我们有没有有也无所谓是吧,因为他是。Over一下。这哈欠打的是吧?你像这种你一定要找一个,你说啊,一个文件里面插入的时候,你一定要找找一个一条搜索语句能执行该六任务吧。你说你要不执行MAP6任务,那你开半天什么map阶段,什么输出阶段,什么压缩格式,没有任何意义吧,没有任何意义,肯定要走这个map任务的啊。那我们就只需要去那个。
20:00
对等了就行了是吧,它是一个。来还好啊,没有啊,因为刚才的是这个中划线是吧,一个中划线,那我们CD到,然后中划线,哎,然后看一下看它这个最终输出格式是什么,点snap吧,哎,它是一个压缩的,压缩的一个输出格式。压缩的一个输出格式,这是我们所讲的什么,你在have当中啊,如何使用这些压缩吧,同样的它跟micro一样,你去单独的把这些属性通通的给打开,打开下一个这种。设置的方式,它能在那个MR任务中生效,其实类似于什么?就类似于当时我们所做的在代码当中去写的吧,对吧,临时的,因为你这个当时在客户端,也就是说你要跑的任务当中,它会携带很多的一个参数进去。
21:03
这个参数呢,是针对于map这个任务来的啊,它是临时生效的,也就是类似于咱们在写那个drive的时候,你在job封装Java的时候。把这个属性给它封装进去,是这个意思啊,这个作用是一样的,所以最终才会在这个地方我们看到我们设置的任何属性吧,啊,这是连贯的啊。
我来说两句