2013-08-23 16 views
13

hi chciałem znać podstawowe różnice pomiędzy jobconf i pracy obiektów, obecnie jestem składania moją pracę jak tenjaka jest podstawowa różnica między jobconf a job?

JobClient.runJob(jobconf); 

widziałem innego sposobu składania oferty jak ten

Configuration conf = getConf(); 
Job job = new Job(conf, "secondary sort"); 
job.waitForCompletion(true);  
return 0; 

i jak można mogę określić klasy sortcomparator dla zadania za pomocą jobconf?

Czy ktoś może mi wyjaśnić tę koncepcję?

Odpowiedz

20

W skrócie: JobConf i wszystko inne w pakiecie org.apache.hadoop.mapred jest częścią starego API używanego do pisania pracy Hadoop, Job i wszystko w pakiecie org.apache.hadoop.mapreduce jest częścią nowej, korzystnej API do pisania Hadoop pracy. Oba interfejsy API zazwyczaj zapewniają równoważną podstawową funkcjonalność.

Jeśli jesteś nowy w hadoopie, po prostu zacznij używać nowego API (tj. Job i Configuration zamiast JobConf). Nie importuj niczego z pakietu mapred. Gdy znajdziesz przykłady w Internecie przy użyciu starego interfejsu API, możesz użyć translacji this presentation lub this guide do nowego interfejsu API.

3

W starej konfiguracji zadań API jest wykonywana przez obiekt JobConf. W nowym interfejsie API konfiguracja zadania odbywa się za pomocą obiektu Configuration.

Sterowanie zadaniami odbywa się za pośrednictwem klasy Job w nowym interfejsie API, zamiast starego JobClient , który nie istnieje już w nowym interfejsie API.