zoukankan      html  css  js  c++  java
  • Spark之Executors memory空间分配

    Executors


    Spark executor internals:

    每个执行器都有一个executor JVM, 存储RDD分区, 缓存RDD分区,运行内部线程。

    如果内核数量超过了任务所需的数量,那么JVM中也会有空闲的内核。

    Executor memory management


     

    其中最重要的优化在于动态占用机制,其规则如下:

    • 设定基本的存储内存和执行内存区域(spark.storage.storageFraction 参数),该设定确定了双方各自拥有的空间的范围
    • 双方的空间都不足时,则存储到硬盘;若己方空间不足而对方空余时,可借用对方的空间;(存储空间不足是指不足以放下一个完整的 Block)
    • 执行内存的空间被对方占用后,可让对方将占用的部分转存到硬盘,然后"归还"借用的空间
    • 存储内存的空间被对方占用后,无法让对方"归还",因为需要考虑 Shuffle 过程中的很多因素,实现起来较为复杂[4]

  • 相关阅读:
    Java的 Annotation 新特性
    Java 枚举
    Java 泛型
    Linux kali信息探测以及 Nmap 初体验
    静态导入 ()
    Java foreach循环
    Java 可变参数
    炫酷的CSS3响应式表单
    关于CSS选择器连续性的问题
    简述ECMAScript6新增特性
  • 原文地址:https://www.cnblogs.com/similarface/p/13163913.html
Copyright © 2011-2022 走看看