小编asa*_*aad的帖子

随着硬件扩展,Spark执行速度变慢

我正在尝试为我的Spark工作找到合适的硬件大小.我的理解是,扩大机器数量可能有助于加快我的工作,考虑到我的工作没有复杂的动作操作,因此可能在驱动程序中进行少量计算.但是,我观察到的是,在向Spark添加资源时,作业执行速度会降低.我可以使用以下简单的工作重现此效果:

  • 从HDFS加载文本文件(~100Gb)
  • 在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)
  • 对结果运行count()动作

当我将群集中的计算机数量从4扩展到8时,缩放问题就出现了.以下是有关环境的一些详细信息:

  • 每个执行程序配置为使用6 GB的内存.HDFS也在同一台机器上共同托管.
  • 每台机器总共有24 GB RAM和12个内核(配置为使用8个用于Spark执行器).
  • Spark托管在YARN集群中.

任何想法为什么我没有得到我期望从Spark的scalabilty程度?

performance apache-spark

10
推荐指数
1
解决办法
766
查看次数

标签 统计

apache-spark ×1

performance ×1