我是新来的Hadoop mapreduce.I想实现在地图搜索减少,所以我的输入文件是这样的读取参数
key1 value1,value3
key2 value2,value6
我想找到钥匙哪个用户会通过值列表作为argument.for这是我主(驱动器)命令行类是这样
public static void main(String[] args) {
JobClient client = new JobClient();
JobConf conf = new JobConf(NameSearchJava.class);
// write now I am trying with writing search key in code (Joy),later I'll
//try to pass argument while running job from hadoop.
conf.set("searcKey", "Joy");
conf.setJobName("Search");
conf.setOutputKeyClass(Text.class);
conf.setOutputValueClass(Text.class);
FileInputFormat.setInputPaths(conf, new Path(args[0]));
FileOutputFormat.setOutputPath(conf, new Path(args[1]));
conf.setMapperClass(SearchMapper.class);
conf.setReducerClass(SearchReducer.class);
client.setConf(conf);
try {
JobClient.runJob(conf);
} catch (Exception e) {
e.printStackTrace();
}
}
}
and my configure function is:
String item ;
public void configure(JobConf job) {
{
item = job.get("test");
System.out.println(item);
System.err.println("search" + item);
}
我应该在哪里写映射或Reducer.How配置功能我可以用这个项目参数做比较,在减速。就是这样的在hadoop中使用参数的正确方法?
你想在unix中做类似grep的事吗? – user3484461 2014-09-24 06:27:08
你想使用mapreduce在你的文件中找到一个字符串吗? – 2014-09-24 06:47:00
相似问题:http://stackoverflow.com/questions/25962454/mapreduce-old-api-passing-command-line-argument-to-map/25968934#25968934 – 2014-09-24 06:49:07