1 个回答
由于同一个Executor的所有的计算任务共享有限的存储内存空间,当有新的Block需要缓存但是剩余空间不足且无法动态占用时,就要对LinkedHashMap中的旧Block进行淘汰(Eviction),而被淘汰的Block如果其存储级别中同时包含存储到磁盘的要求,则要对其进行落盘(DROP),否则直接删除该Block。
存储内存的淘汰规则为:被淘汰的Block要与新Block的MemoryMode相同,即同属于堆外或者堆内内存新旧Block不能属于同一个RDD,避免循环淘汰就Block所属RDD不能处于被读状态,避免引发一致性问题遍历LinkedHashMap中Block,按照最近最少使用(LRU)的顺序淘汰,直到满足新Block所需空间。其中LRU是LinkedHashMap的特性。
存储内存的淘汰规则为:被淘汰的Block要与新Block的MemoryMode相同,即同属于堆外或者堆内内存新旧Block不能属于同一个RDD,避免循环淘汰就Block所属RDD不能处于被读状态,避免引发一致性问题遍历LinkedHashMap中Block,按照最近最少使用(LRU)的顺序淘汰,直到满足新Block所需空间。其中LRU是LinkedHashMap的特性。
发布于:3个月前 (01-22) IP属地:四川省
我来回答
您需要 登录 后回答此问题!