[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
courses:mapreduce-tutorial:step-31 [2012/02/06 08:28]
straka
courses:mapreduce-tutorial:step-31 [2012/02/06 08:40]
straka
Line 128: Line 128:
 ===== Exercise 2 ===== ===== Exercise 2 =====
  
-Implement an AllReduce job on ''/net/projects/hadoop/examples/inputs/numbers-small'', which computes+Implement an AllReduce job on ''/net/projects/hadoop/examples/inputs/numbers-small'', which computes median of the input data. You can use the following iterative algorithm: 
 +  * At the beginning, set //min<sub>1</sub>// = ''Integer.MIN_VALUE'', //max<sub>1</sub>// = ''Integer.MAX_VALUE'', //index_to_find// = number_of_input_data / 2. 
 +  * In step //i//, do the following: 
 +    - Consider only input keys in range <//min<sub>i</sub>//, //max<sub>i</sub>//>
 +    - Compute //split// = ceiling of mean of the keys. 
 +    - If the //index_to_find// is in range <1+number of keys less than //split//, number of keys less or equal to //split//>, then ''split'' is median. 
 +    - Else, if //index_to_find// is at most the number of keys less than //split//, set //max<sub>i+1</sub>// = //split//-1. 
 +    - Else, set //min<sub>i+1</sub>// = //split//+1 and subtract from //index_to_find// the number of keys less or equal to //split//.
  
 You can download the template {{:courses:mapreduce-tutorial:step-31-exercise2.txt|Median.java}} and execute it using: You can download the template {{:courses:mapreduce-tutorial:step-31-exercise2.txt|Median.java}} and execute it using:

[ Back to the navigation ] [ Back to the content ]