cdh 2.6.0版本和apache 2.7.x版本 本地执行环境的差异。

    • 问题:在cdh中 reducetask个数不管设置几个 最终都是一个执行。
    • 原因:两个版本中 本地执行环境api发生了改变
    • 注意:两个版本的api在yarn集群模式都是一样的。
      localJobRunner:
      
      cdh:
      
      int numReduceTasks = this.job.getNumReduceTasks();
                    if (numReduceTasks > 1 || numReduceTasks < 0) {
                        numReduceTasks = 1;
                        this.job.setNumReduceTasks(1);
                    }
                     
      Apache :
       int numReduceTasks = job.getNumReduceTasks();
       用户设置为几 程序就启动几个 可以直接显示出执行效果
       
       
       
      x
       
       
       
       
      1
      localJobRunner:
      2
      
      
      3
      cdh:
      4
      
      
      5
      int numReduceTasks = this.job.getNumReduceTasks();
      6
                    if (numReduceTasks > 1 || numReduceTasks < 0) {
      7
                        numReduceTasks = 1;
      8
                        this.job.setNumReduceTasks(1);
      9
                    }
      10
                     
      11
      Apache :
      12
       int numReduceTasks = job.getNumReduceTasks();
      13
       用户设置为几 程序就启动几个 可以直接显示出执行效果
       
       



原文地址:https://www.cnblogs.com/TiePiHeTao/p/2bafe37e92fbcabae3ce8122c33f65d9.html