我正在尝试为我的Spark工作找到合适的硬件大小.我的理解是,扩大机器数量可能有助于加快我的工作,考虑到我的工作没有复杂的动作操作,因此可能在驱动程序中进行少量计算.但是,我观察到的是,在向Spark添加资源时,作业执行速度会降低.我可以使用以下简单的工作重现此效果:
在RDD上运行简单的"过滤器"转换,如下所示:
JavaRDD<String> filteredRDD = rdd.filter(new Function<String, Boolean>() {
public Boolean call(String s) {
String filter = "FILTER_STRING";
return s.indexOf(filter) > 0 ? true : false;
}
Run Code Online (Sandbox Code Playgroud)当我将群集中的计算机数量从4扩展到8时,缩放问题就出现了.以下是有关环境的一些详细信息:
任何想法为什么我没有得到我期望从Spark的scalabilty程度?