我正在使用新的Hadoop API并寻找一种方法将一些参数(少数字符串)传递给映射器。
我该怎么做?将参数传递给Hadoop映射器
This solutions works for old API:
JobConf job = (JobConf)getConf();
job.set("NumberOfDocuments", args[0]);
这里,“NumberOfDocuments
”是参数的名称和它的值从“args[0]
“,命令行参数读取。一旦您设置此参数,可以如下检索其在减速或映射值:
private static Long N;
public void configure(JobConf job) {
N = Long.parseLong(job.get("NumberOfDocuments"));
}
注意,棘手的部分是,你可以不设置这样的参数:
Configuration con = new Configuration();
con.set("NumberOfDocuments", args[0]);
新的和旧的方法在这里:http://www.thecloudavenue.com/2011/11/passing-parameters-to- mappers-and.html – weefwefwqg3