温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
好,那接下来第二个是并行之行啊,问一下大家啊,大家有没有正正常来说我们跑MR任务是不是慢跑到100%以后,Reducer才开始从0%慢慢往上增,对吧?但是大家之前我不知道你们有没有注意到一个问题啊,有时候会发现一个什么问题呢?Map呀,他没到100%的时候。可能这个video就已经怎么样启动了,有同学看到过这种数据吗?没注意是吗?哈多优化里边也提到过这个事了,对啊,一样的啊,就是这种情况,就是说,呃,那这个有同学还在想啊,我们reducer是不是依赖于上一个阶段所有数据啊,那你reducer提前起了,你数据不就不完整了吗?它其实起来之后干什么事了,起来reducer呢,它又不是等他就先处理一部分数据,然后把这处理一部分数据结果跟在接下来做好的卖货任务干什么?
01:11
再去聚合一下啊,还是类似于一种预聚合的感觉,对吧,掀起一个任务啊,这就是所谓的一个并行执行,当然其实不光是map跟video阶段可以并行,嗯,其他的很多阶段,因为在整个have执行任务过程当中,有所谓的什么抽样合并,Limit的等等呢,我们看到是不是有很多state。就是一个执行计划当中有很多stage,其实它这里面有很多stage,看上去好像说A什么depend on depend on,对吧,但是是不是有的两个任务之间同一起,假如说啊,我有一个root stage,然后root stage里边是不是可以,诶这两个STAGE1,这个STAGE2,这个是STAGE0,这两个任务是不是没有逻辑关联啊,对吧?刚才我们说的脉reducer都是有逻辑关联的,它都可以运行,那你这两个阶段能不能同时运行?
02:03
就假如说在root运行完了,这两个阶段能不能同时写可以对吧?啊可以,当然我们要去设置一下啊,打开任务的一个并行执行,那这样的话能够节省掉我们的一个时间,但是会有一个问题,就是说资源怎么样啊。得充足对吧,你同时起一个任务跟同时起多个任务,那多个任务肯定需求的资源怎么样更高一些,对吧?啊,所以也是说在资源合适的时候呢,我们才去用的啊,这是所谓的一个必行之行啊。
我来说两句