Przekazywanie argumentów do maperów Hadoop
Używam nowego API Hadoop i szukam sposobu na przekazanie niektórych parametrów (kilku ciągów) maperom.
Jak mogę to zrobić?
To rozwiązanie działa dla starego API :
JobConf job = (JobConf)getConf();
job.set("NumberOfDocuments", args[0]);
Tutaj" NumberOfDocuments
"jest nazwą parametru, a jego wartość jest odczytywana z" args[0]
", argumentu wiersza poleceń. Po ustawieniu tych argumentów możesz pobrać jego wartość w reduktorze lub maperze w następujący sposób:
private static Long N;
public void configure(JobConf job) {
N = Long.parseLong(job.get("NumberOfDocuments"));
}
Uwaga, najtrudniejsze jest to, że nie można ustawić parametrów takich jak to:
Configuration con = new Configuration();
con.set("NumberOfDocuments", args[0]);
14
Author: Suvarna Pattayil, 2011-11-23
1 answers
W metodzie głównej Ustaw wymagany parametr jak poniżej lub używając opcji linii poleceń -D podczas wykonywania zadania.
Configuration conf = new Configuration();
conf.set("test", "123");
Job job = new Job(conf);
W maperze/reduktorze Pobierz parametr jako
Configuration conf = context.getConfiguration();
String param = conf.get("test");
41
Author: Praveen Sripati,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-08 17:37:21
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-08 17:37:21