Hi
I am new to Hadoop. I will highly appreciate your help. I have the following 
scenario:

I have key, values received by the reduce function - where the values are 
points on two circles. I am trying to reduce these into two output records in 
which I will have the two points in which the two circle intersect if they does 
or a special value if one is contained in the other. As I go over the list of 
values (which are the points on the two circles) I wanted to capture the points 
in to an arrayList and after scanning find the intersection information. I have 
a code structure as follows:

Reduce  (key, Iterator values...) {
A1 is ArrayList of type g
A2 is ArrayList of type g

g_instance is an instance of type g
While (values.hasNext()) {
                g = values.getNext();
                if (g.P == 0) A1.add(g);
                else
                // g.P ==1
                A2.add(g);

                }
// now having captured the points as in the type g I want to do some 
calculation to find the intersection
                for(int i=0; i < A1.size(); i++) {
                                temp_g1 = A1.get(i);
                                for(int j=0; j< A2.size(); j++) {
                                temp_g2 = A2.get(j);
                                // compare the x and y of the points 
represented by temp_g1 and temp_g2
                                //Find the one that is min distance apart
                                // store the index of the points
                                }
                                }

// now send the points in the output
Output.collect (key, new gvalue(...))

} // end of reduce

I can get the g values in the while loop but after I am out of that my arrays 
have size zero

Is there something I missed in my design?

Thanks

Ranjan

Reply via email to