我是新來的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