Cogrouping allows SQL-MapReduce functions to be applied to related groups of information derived from different data sets. The different data inputs are grouped into a nested structure using a cogroup function before the SQL-MapReduce function operates on them.
An example of a cogroup use case is a web store that wants to know how much sales revenue to attribute to advertisements, based on web page views (impressions) and clicks leading to a purchase. This type of result cannot be easily computed using SQL or SQL-MapReduce capabilities without multiple data inputs. The multiple data inputs in this case are the logs from the web store and the logs from the ad server.