V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
belcher
V2EX  ›  程序员

一个 job 中,spark 实际启动 executor 数量

  •  
  •   belcher · 2019-01-20 22:38:54 +08:00 · 3198 次点击
    这是一个创建于 2141 天前的主题,其中的信息可能已经有所发展或是发生改变。

    能查到的所有资料都指向下面这个公式: executor 数量 = spark.cores.max/spark.executor.cores 意思是 executor 进程的数量为我们设置的 spark 程序的最大核心数除以每个 executor 分配的核心数. 那么问题来了! 假设:某个 rdd 对应数据文件的 block 块有 4 个,加载的时候合成两个 inputSplit 处理,对应两个 Task 然后我设置 spark.cores.max=10,spark.executor.cores=2. 按照公式,会有 10/2=5 个 executor 进程 spark 肯定不会给两个 Task 分配 5 个 executor,那么 spark 具体是怎么确定 executor 数量的呢?

    1 条回复    2019-01-20 23:14:12 +08:00
    scalaer
        1
    scalaer  
       2019-01-20 23:14:12 +08:00 via Android
    配置项 –– num – executors
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   972 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 20:16 · PVG 04:16 · LAX 12:16 · JFK 15:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.