MapReduce设置输入和输出

时间:2016-10-11 13:50:10

标签: java windows mapreduce

我有一个文件

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运行该应用程序。

我正在

Required:
org.apache.hadoop.fs.Path
Found:
java.nio.file.Path

2 个答案:

答案 0 :(得分:1)

对于Eclipse,您可以设置参数:

运行 - >运行配置 - >参数。

在Intellij中它应该是相同的。

答案 1 :(得分:0)

错误告诉您它需要org.apache.hadoop.fs.Path,而是收到java.nio.file.Paths

这意味着您应该将代码的第二次导入更改为 org.apache.hadoop.fs.Path。 IDE导入建议有时会出错;)

更改导入,然后使用已有的方法添加输入和输出路径。这些参数在Eclipse中给出,右键单击项目 - >以 - >运行运行配置 - >参数。这两条路径应该是空白分隔的。申请并运行!

对于下一次执行,只需运行该项目。