3
回答
新人一枚弱弱的问一句job.setNumReduceTasks(num)在哪个文件设置
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
如题
举报
明明白白
发帖于4年前 3回/1K+阅
共有3个答案 最后回答: 4年前
jobConf在那设置,是这样的运行的时候reduce数一直是一个我有5个节点,但是我查看运行的时候reduce数总共是一个在运行,是不是这样影响了效率?我想的是把reduce增加几个就是不知道怎么加

引用来自“明明白白”的答案

jobConf在那设置,是这样的运行的时候reduce数一直是一个我有5个节点,但是我查看运行的时候reduce数总共是一个在运行,是不是这样影响了效率?我想的是把reduce增加几个就是不知道怎么加
 
@Override
        public int run(String[] args) throws Exception {
                Configuration conf = this.getConf();

                Job job = new Job(conf, "FindActive");
                job.setJarByClass(FindActiveData.class);

                job.setNumReduceTasks(1);

                job.setInputFormatClass(KeyValueTextInputFormat.class);

                FileInputFormat.addInputPath(job, new Path(
                                "/profile/article/prefer/2013/08/*"));
                FileOutputFormat.setOutputPath(job, new Path("out"));

                job.setMapperClass(MapClass.class);

                //job.setInputFormatClass(TextInputFormat.class);
                //job.setOutputFormatClass(TextOutputFormat.class);

                job.setOutputKeyClass(Text.class);
                job.setOutputValueClass(Text.class);

                return (job.waitForCompletion(true) ? 0 : 1);
        }

        public static void main(String[] args) throws Exception {
                int res = ToolRunner.run(new Configuration(), new FindActiveData(),
                                args);
                System.exit(res);
        }
我上面代码的写法是版本0.2.0之后版本的写法,lz可以参考。
另外,hadoop版本的区别,请看这篇文章: http://blog.csdn.net/jiacai2050/article/details/8656279
顶部