我有一个文件
import java.io.IOException;
import java.nio.file.Paths;
import java.util.*;
import org.apache.hadoop.conf.*;
import org.apache.hadoop.fs.*;
import org.apache.hadoop.conf.*;
import org.apache.hadoop.io.*;
import org.apache.hadoop.mapreduce.*;
import org.apache.hadoop.mapreduce.lib.input.*;
import org.apache.hadoop.mapreduce.lib.output.*;
import org.apache.hadoop.util.*;
public class ViewCount extends Configured implements Tool {
public static void main(String args[]) throws Exception {
int res = ToolRunner.run(new ViewCount(), args);
System.exit(res);
}
public int run(String[] args) throws Exception {
//Path inputPath = new Path(args[0]);
Path inputPath = Paths.get("C:/WorkSpace/input.txt");
Path outputPath = Paths.get("C:/WorkSpace/output.txt");
Configuration conf = getConf();
Job job = new Job(conf, this.getClass().toString());
我试着在windows中运行一个应用程序。如何设置inputPath和outputPath?我现在用的方法不管用。之前我有
Path inputPath = new Path(args[0]);
Path outputPath = new Path(args[1]);
,我必须转到命令行。现在我想从IDE运行应用程序。
I'm getting
Required:
org.apache.hadoop.fs.Path
Found:
java.nio.file.Path
对于Eclipse,您可以设置参数:
Run -> Run configuration -> arguments
在Intellij中应该是一样的
错误告诉您它期望得到一个org.apache.hadoop.fs.Path
,但它收到的却是一个java.nio.file.Paths
。
这意味着您应该将代码的第二个导入更改为org.apache.hadoop.fs.Path
。ide的导入建议有时可能是错误的;)
更改导入,然后使用您已经使用的方法来添加输入和输出路径。这些参数是在Eclipse中通过右键单击project -> Run as -> Run configurations -> arguments给出的。两条路径应该用空格分隔。申请并运行!
对于接下来的执行,只需运行项目。