gpt4 book ai didi

hadoop - hadoop 0.20.2 中不支持通用选项 -D 吗?

转载 作者:可可西里 更新时间:2023-11-01 17:00:56 24 4
gpt4 key购买 nike

我正在尝试使用 -D 通用选项从控制台设置配置属性。

这是我的控制台输入:

$ hadoop jar hadoop-0.20.2/gtee.jar dd.MaxTemperature -D file.pattern=2007.* /inputdata /outputdata

但我通过

从代码中进行了交叉验证
Configuration conf;
System.out.println(conf.get("file.pattern"));

结果为空输出。这里的问题是什么,为什么属性“file.pattern”的值不显示?谁能帮帮我。

谢谢

编辑部分:

司机代码:

public int run(String[] args) throws Exception {
Job job = new Job();
job.setJarByClass(MaxTemperature.class);
job.setJobName("MaxTemperature");
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(URI.create(args[0]), conf);
// System.out.println(conf.get("file.pattern"));

if (fs.exists(new Path(args[1]))) {
fs.delete(new Path(args[1]), true);
}

System.out.println(conf.get("file.pattern"));

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

FileInputFormat.addInputPath(job, new Path(args[0]));
FileInputFormat.setInputPathFilter(job, RegexExcludePathFilter.class);

FileOutputFormat.setOutputPath(job, new Path(args[1]));
job.setOutputFormatClass(TextOutputFormat.class);

job.setMapperClass(MapMapper.class);
job.setCombinerClass(Mapreducers.class);
job.setReducerClass(Mapreducers.class);

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

public static void main(String[] args) throws Exception {
int xx = ToolRunner.run(new Configuration(),new MaxTemperature(), args);
System.exit(xx);
}

路径过滤器实现:

public static class RegexExcludePathFilter extends Configured implements
PathFilter {
//String pattern = "2007.[0-1]?[0-2].[0-9][0-9].txt" ;
Configuration conf;
Pattern pattern;

@Override
public boolean accept(Path path) {
Matcher m = pattern.matcher(path.toString());
return m.matches();
}

@Override
public void setConf(Configuration conf) {
this.conf = conf;
pattern = Pattern.compile(conf.get("file.pattern"));
System.out.println(pattern);
}

}

最佳答案

为确认您的 -D 选项在版本 20.2 中受支持,但是这需要您实现工具接口(interface)以从命令行读取变量

  Configuration conf = new Configuration(); //this is the issue
// When implementing tool use this
Configuration conf = this.getConf();

关于hadoop - hadoop 0.20.2 中不支持通用选项 -D 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24200901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com