A simple log processing job in MapReduce might scan a subset of log files corresponding to a specified time window (e.g. a day), and compute aggregated counts grouped by age, gender or location. As part of this analysis, an equi-join is often required between the log and one or more of the reference tables. Note that the equi-join for log processing is different from typical star joins in traditional data warehouse applications. In star joins, dimension data is often first reduced based on constraints, then the product of several dimension tables is joined with the fact table often making use of indexes. In contrast, equi-join for log processing is usually performed on all the log records, and constraints on reference data are seldom specified. This is because one of the goals of log processing is to compute statistics for all the log records on various combination of reference dimensions. Also note that it is not feasible to pre-join the log with all its reference data, since the pre-joined result could be orders of magnitude larger than the log