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

2019-01-20 22:38:54 +08:00
 belcher

能查到的所有资料都指向下面这个公式: 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 数量的呢?

3050 次点击
所在节点    程序员
1 条回复
scalaer
2019-01-20 23:14:12 +08:00
配置项 –– num – executors

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/528916

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX