00:00
严格模式啊,第一个对于分区表设置的一个严格模式,哎,用的是这样的一个属性。默认是false啊,那我们看一下之前啊,呃,我们的分区表,我们记得应该有P对吧。这个啊,这些东西都是分区表吧,啊行呃,那之前呢,我们好像可能可以做这个事情,看到的c from这个刚才我们加的表,这个能处理吧,我们并没有加分区条件,对不对,对吧?啊,那我们再看一下,如果说把它置为处之后啊,打开我们对于这个分区表的一个严格,这个其实一般不开啊,还是false,因为有时候虽然我们是分区表,嗯,我们有时候呢,也会干什么做全表扫描,这是有可能的啊,尽管你是分区表啊。
01:02
好,这个能运行吧,那如果说我把刚才的属性给它改为什么。是不是默认值是false啊,对吧,那等于我还是执行这个色报错了,其实他这个错误信息呢,就告诉我们,他说当前的查询语句当中是一对一个这个分区表,但是。对吧,Without没有什么。分区的一个过滤啊,它就不让执行了啊,他就不让执行了,也就是说这个时候你要执行必须加一个V尔,加上分区过滤条件啊,所以说这个东西在生产环境当中,倒不是说呃常用的一个东西,因为对于分区表而言,我们有时候呢,需要的是单个分区或者两个分区,有时候也会用全全部的数据,对吧,这是第一个啊,研个模式这个还好,一般我们就用for就好了,你知道一下第二个。
02:01
第二个呢是如果说使用out bet没有limit之前,我们是不是测过不需要limit可以执行啊,我们是不是写过对吧,因为它默认的呢,看啊也是什么false,那我们把这个改为处,然后select的新from这个EP这张表啊,All the salary又报错了,还是一样的,他说all by语句当中without什么。Limit啊,也就是说这个时候呢,如果说我们加一个LIMIT2或者说三随便这个任务就能运行了。啊,主要在于out,我们前提到过out这个内容呢,不管我们设置了多少个video,哪怕手动设置了,它也只有一个什么video数理数量太大,而如果说我们加了limit,是不是最终我们只要两条,它里面做了优化了,他会在map端每一个都会输出当前map里边什么最大的两条,然后把所有的map输出的前代里,然后放到一个维6C里面去做处理的,啊,他做了优化了,就类似于大家之前所写的呃,Top n的那个MR的例子一样的,今天我们提了里边用到了什么吹map这种数据结构,对吧?在map里面呢,哪一条我就放到吹map里面,然后去判断一下它的数值是否超过了二,如果超过二,我就把最小的那个给它干什么扔掉对吧?那一直进来,进来之后在哪进行输出啊。
03:42
在clean up里边进行输出,就是所有的当前这个map,处理完所有数据之后,在clean里边进行输出,也就每一个map呢,我只让他输出什么。两条数据,然后reduce呢,对这个所有的map,假如说十个map应该就reduce,也就处理的什么二条数据。
04:00
对吧,也就说理二条数据,所以呢,它加limit是,呃,相当于内部做了优化啊,它不会,虽然最后我们也看到了只有一个什么维,但实际上这个维处理数据量就要比你之前处理数据量要小很多了。啊,当然我们这个看不出来啊,因为数量总共也没多大啊,也只有一个麦克对吧?好,这是我们所看到第二个啊,就auto limit,然后接下来呢,是迪啊迪卡级这个东西啊,在生产环境当中一般都是开的,默认是什么for,我们之前是不是测过第号级可以用啊好,那我们改成处三角c from dmp表对吧,我们去join上谁啊,DEP表之前我们是不是就这样写的没有。状语条件,这是不是就做笛卡尔级,之前那个我们跑过对吧,出来的应该是当时我们是15乘以14条是吧?啊不是15乘以四六十条还记得吗?对吧,这个时候又报错了,说咱们现在用了第级了啊用了第二级了,不让用了,对吧,因为改成了竖了,改成处了,这个注意啊,在生产环境当中一定是开的,我们之前说过,假如说你这个需求就不得不用第二级。
05:23
我们当时怎么说的,对,临时生效一下对吧?啊把它改为false啊,改为false就好啊,是这样的一种情况,对吧,这是我们所说的三个严格模式啊,啊生产环境当中,因为一旦你启用了一个autoba,没有厘米的,或者说你做了第二级,那么接下来你这个任务将会跑很长时间。对吧,啊跑很久,而且呢,最终特别第二集最终输出的这个数据呢,也还是非常庞大。是吧,非常庞大,就假如说你两张表之前我们看到那个例子当中,人家是什么4000万跟5000万,你如果说这个做第二集疯了是吧。
我来说两句