zoukankan      html  css  js  c++  java
  • 深入探究Spark -- 了解Executor和参数配置

    创建与分配Executor的方式根据各种资源调度方式的不同而有差异,但拿到Executor后每种资源调度方式下的Executor的运作都一样,并由Executor完成最终的计算
     
    Task在Executor中执行时涉及到依赖环境的创建和分发、任务执行、任务结果的处理、Driver端的处理(书中有详细介绍,但和前面Scheduler感觉有重复部分)
     
     
     
    Executor的工作参数设置:
     
    spark.executor.memory:
     
    配置Executor最多使用的内存大小,原理是设置Executor的JVM Heap尺寸实现。由于内存资源有限,此参数设置过大会导致部分任务分配不到资源,设置过小会产生频繁的垃圾回收和读写磁盘
     
    每个Executor可以支持的Task数量取决于持有的CPU core的数量
     
    准确评估数据集,要看在BlockManager的日志中的RDD cache,每个cache分区大小
     
    内存比较紧张时,可以合理规划分区任务的数据规模,如增加分区数可增加任务数,减小每个任务的处理量
     
     
    日志相关:
     
    spark.eventLog.enabled设置为true打开日志保存到本地,方便调试和追踪问题,但日志需要定时清理,清理策略可以设置:
     
     
    spark.executor.heartbeatInterval:
     
    Executor和Driver的心跳间隔,就是汇报运行和统计信息的间隔
     
     
     
     
  • 相关阅读:
    p2394 精度题
    线性筛素数
    poj3468 线段树的懒惰标记
    逆元
    2018 Multi-University Training Contest 2
    2018 Multi-University Training Contest 1
    判断素数遇到的问题
    Mergeable Stack(链表实现栈)
    组合数
    poj2594 机器人寻找宝藏(最小路径覆盖)
  • 原文地址:https://www.cnblogs.com/kinghey-java-ljx/p/8522589.html
Copyright © 2011-2022 走看看