Upto now, I am thinking like Normal join is simple map/reduce job where two tables are two inputs .Based on columns given in equality expression ,Key and values will be decided in map side and they are grouped when comes to reducer side.
But when i read following lines, i confused a little bit about "Difference between Map side join and Normal join".
In every map/reduce stage of the join, the last table in the sequence is streamed through the reducers where as the others are buffered. Therefore, it helps to reduce the memory needed in the reducer for buffering the rows for a particular value of the join key by organizing the tables such that the largest tables appear last in the sequence. e.g. in
SELECT a.val, b.val, c.val FROM a JOIN b ON (a.key = b.key1) JOIN c ON (c.key = b.key1)
Can any one explain above lines in normal join in details??? Once explain stream table and buffering in normal join??