我正在使用新的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