如果我在2个m5.2xlarge的slave节点和1个m5.4x large的slave节点上运行spark,会不会有性能上的差异?
一方面,我会说,这将使没有区别,因为他们最终都是相同的大小(在RAM和CPU)。另一方面,我可以说,在实例之间洗牌数据需要一些时间(毫秒?),因此使用1个实例比使用2个一半大小的实例性能更好。
在AWS S3和AZURE Blob存储的时候,这是弹性计算,而不是裸机,从技术上讲,我在这个例子中没有看到任何区别,除非1)你考虑节点工作者的失败,以及2)你至少有双倍的本地磁盘--你注意到提到--用于洗牌乔布斯的中间阶段。
这可能会提供额外的见解。