本文共 726 字,大约阅读时间需要 2 分钟。
我们随便百度一个经典的MapReduce程序----wordcount的时候,在设置job文件输入路径和输出路径参数时,会看到别的博主会这么写:
Configuration conf = new Configuration();Job wordCountJob = Job.getInstance(conf);//省略。。。。FileInputFormat.setInputPaths(wordCountJob,"hdfs://192.168.77.70:9000/wordcount/srcdata/");FileOutputFormat.setOutputPath(wordCountJob, new Path("hdfs://192.168.77.70:9000/wordcount/output/"));
但是我在Idea里面复制粘贴编译时,其实是报错的。这是因为,我导的是老版本的包,但是也能运行,代码要稍作修改,它在版本中要求FileInputFormat调用的方法名是addInputPath且第一个参数是JobConf型,同样FileOutputFormat调用的输出名是setOutputPath,参数也是JobConf型。所以这个时候要进行强转,具体做法如下:
FileInputFormat.addInputPath((JobConf)wordCountJob.getConfiguration(),new Path(args[0])); FileOutputFormat.setOutputPath((JobConf)wordCountJob.getConfiguration(),new Path(args[1]));
转载地址:http://hhhga.baihongyu.com/