00:00
这边我们就要来看看网络传输里面的内存管理了,咱们不是一直说数据交换基于网络吗?基于net吗?对不对,好这边呢,我要先截一个图,同学们啊,我们调度里面的这个图,哎。好,我们反过来看,哎,你看啊,其实看物理执行图啊,我们说每个task怎么样。你看这个图,它是不是有它的上游跟下游啊,上游是什么。行业是。输入大门嘛。他的输出是什么?然后结果分区吧,所以你看我这个图,一个task的前面有一个。后面有一个结果分区,知道这个东西咋来了吧,啊知道这咋来了吧,呃,那这些东西就是缓冲区要用到的地方。
01:02
输入大门跟结果分区啊,那所以大家知道这两个是啥玩意,好吧,好,那我们刚才介绍到了一个概念,每个task怎么样,是不是有一个本地的资源池啊,资资源池啊,对不对。对不对,好。那么你看啊。它首先比如说我们有一条数据来啊,有一条数据要进来,它是通过这个输入大门,先去请求这个缓冲池,本地的缓冲池,那本地的缓冲池。最终会向谁请求啊?有一个叫网络缓冲池。是不是本地的到网络的啊,大家注意这个是存在于哪里呢。这个是一个task一个local对吧,那这个是一个task manager一个。一个小弟一个能理解吧。
02:02
啊,好。那请求完之后干嘛,是不是告诉他,告诉他可以可以啊,啊分配给了他对吧,而最后呢。是不是输入填充数据啊啊,然后循环对吧,循环填充循环填充啊啊然后在这里怎么样。是不是往外拉呀。诶,不对。这个我怎么感觉是反的同学们?黄色的是三对吧?啊,没错啊哦,刚才说错了,同学们啊,我就看着怪怪的啊,来你看啊,我们从头开始啊,这个输入大门向本地资源池请求,再向网络资源池请求,然后网络缓冲池是不是把数据拉到本地啊?
03:04
本地是不是对应task,然后task再从这个本地怎么样。数据才进入到task里面嘛。有这么一个过程来,什么过程呢?输入大门请求本地的池子,在请求节点上的网络缓冲池,那这个池子在逐级的怎么样返回对吧?呃,返回到本地,再返回给task克,这个时候一条数据就进来了。这个是这么进的啊,进门是这么进的,数据就进来了,好,那这一块是不是它的输出啊。他输出怎么往外走的呀,你看。是不是一个结果分区啊,那么结果分区呢,是不是先把数据干到哪里啊。本地缓冲池,那再从本地缓冲池放到网络缓冲池。那网络缓冲池是不是可以不同节点之间进行通信呢?啊对吧,通过基于net来一个通信,那之后呢。
04:05
这是不是到另一个可能在另一个节点上的task,对吧,他又怎么进数据呢?是不是一样的过程啊,是不是跟这个过程一样啊,对吧?啊就是进来进来,然后到这里面,那这里输出也是出来出来,这个就是咱们对应物理执行图这个输入跟输出啊,那么还有结合一个内存,咱们前面介绍到的这些概念,对吧?池子缓冲缓冲啊,本地的网络的啊。那么后面呢,呃,是详细的一个介绍对吧,详细的就把咱们刚才这个过程啊,进来进来出来出来这个过程变成文字描述的时候啊。文字描述的时候,那么这中间呢,有一个法尼给大家讲一下啊,法尼讲一下什么叫法呀。Spark是不是也有一个被压机制啊?
05:02
对不对,呃,那么对压机制是不是需要咱们参数明确的开启。Spark里面。啊,是需要的啊,那弗link是不用的,它默认就帮我们,它默认就有,它怎么实现法尼啊,同学们咱们看这个图吧,啊先看这个图,它法尼安是这样。这里对吧,是不是另一个的输入啊,对吧,IG这个是不是上一个的输出叫RS啊。对不对,好,这个是不是一个缓冲区,是不是内存呢。那么大家想想,这里如果产生了堆积。这里产生的堆积会怎么样?这边是不是就不能往这发了,他塞满了塞不下了呀,对吧,所以他数据是不是不会往后传了呀,这个时候他自己是不是还在那就塞在哪。是不是塞在自己这里啊,它不也是个缓冲区吗,对不对。
06:01
然后自己是不是也会塞满了?那他塞满了他自己TASK1它的输入这边。是不是也没法往后传了呀,这个时候它的输入这里是不是也塞满了呀。你看是不是从后往前层层传递啊,一直传递到哪里。是不是这个task。对吧,SS是不是也有一个输入大门,还有一个输出结果啊,那最终是不是层层从后往前反馈,最终SS的输入这里是不是也塞满了,这个时候就不会再读取数据了,你看这样是不是实现了一个压力反向传导啊,所以我们叫它反压,好那么还有一个概念。目前反家机制基于credit信用机制,什么叫信用啊?你塞不下了,你就是没信用,明明说好了要对吧,要手牵手对吧,白头走到白头,结果隔天你就把我踹了是吧?你没信用啊。
07:03
呃,他塞满了,表示他信用度极低,信用度低他就不会往那里发,能理解这个意思吧,哎,所以这个就是基于一个这个词,记住啊,可以专业专有名词啊。这个就是一个被压的过程啊,那么这中间呢,网络是基于netty好吧,哎,Net。好,这个就是咱们这一块网络传输中内存管理相关的内容啊,相关的内容,那么最终大家要记忆的核心,呃,主要是哪一个呢?主要是这个啊。主要是这个反压呢,很简单对吧,你只要把输入大门结果分区这两个概念讲到了,再告诉他有一些缓冲池,再告诉他基于net,再告诉他反向从后往前依次传递,再告诉他这个词就可以了啊就可以了,好,那这个模型要去记一记啊,画一画,记一记,理解理解啊。
我来说两句