MapReduce - 无法访问在configure中编写的代码

时间:2013-08-14 09:30:57

标签: mapreduce

我想将一些文件移动到输入文件夹并通过将其置于configure()方法中尝试所需的代码(由于我有一些限制,我不得不使用旧的mapred API)。 但是,有些配置中的代码没有被执行。

我已经以其他更好的方式实现了我的要求。虽然这是一个愚蠢的想法,但我想知道为什么它没有被执行。我检查了作业跟踪器,所有变量都得到了正确的值

代码:

在main中:

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String date = sdf.format(new Date());

if(args[3].toString().equalsIgnoreCase("net")){

            imgInpPath = "/user/mapreduce/output/net/"+date+"/";
            inputDir = inputDir+"net/";
        }
conf.set("imgInpPath", imgInpPath);
conf.set("inputDir", inputDir);

FileInputFormat.setInputPaths(conf,inputDir);

在configure()

inputPath = conf.get("inputDir");
Path inputImgPath = new Path(conf.get("imgInpPath"));

Configuration config = new Configuration();
FileSystem fileSystem = FileSystem.get(config);
inputImgPath    = fileSystem.makeQualified(inputImgPath);

FileStatus[] status = fileSystem.listStatus(inputImgPath, new PathFilter(){
@Override
public boolean accept(Path name) {
return name.getName().contains("part");
}});

for(int i=0; i <status.length;i++)
{
    Path inpPath = status[i].getPath();
    FileUtil.copy(fileSystem, inpPath, fileSystem, new Path(inputPath), true , conf);
}

正如我所说,所需的东西是通过其他方式实现的。但是,我想知道,为什么不执行此操作,无论要求如何。

0 个答案:

没有答案