【发布时间】:2016-12-24 15:58:55
【问题描述】:
我有两个关于 Spark 性能调优的问题:
-
我了解在 spark 作业中控制并行性的关键之一是正在处理的 RDD 中存在的分区数量,然后控制处理这些分区的执行程序和核心。我可以假设这是真的吗:
- # of executors * # of executor cores 应该
-
我知道每个执行程序拥有大量内核可能会对 HDFS 写入等内容产生 -ve 影响,但这是我的第二个问题,纯粹从数据处理的角度来看,两者之间有什么区别?例如如果我有 10 个节点的集群,这两个作业之间会有什么区别(假设每个节点有足够的内存来处理所有内容):
5 个执行器 * 2 个执行器核心
2 个执行器 * 5 个执行器核心
假设内存和 CPU 是无限的,从性能的角度来看,我们是否应该期望上述两者的性能相同?
【问题讨论】:
标签: apache-spark spark-streaming