Я использую новый Hadoop API и ищу способ передать некоторые параметры (несколько строк) картографам.
Как я могу это сделать?
Это решение работает для старого API :
JobConf job = (JobConf)getConf();
job.set("NumberOfDocuments", args[0]);
Здесь «NumberOfDocuments
» - это имя параметра, а его значение читается из «args[0]
», aаргумент командной строки.Как только вы установите эти аргументы, вы можете получить его значение в редукторе или преобразователе следующим образом:
private static Long N;
public void configure(JobConf job) {
N = Long.parseLong(job.get("NumberOfDocuments"));
}
Обратите внимание, что сложная часть заключается в том, что вы не можете установить параметры, подобные этому:
Configuration con = new Configuration();
con.set("NumberOfDocuments", args[0]);