This document discusses reduce-side joins in Hadoop. Reduce-side joins are performed by joining datasets in the reduce phase based on a join key. The data is organized by Hadoop to send identical keys to the same reducer, making reduce-side joins straightforward to implement. However, performance can suffer as all data is shuffled across the network. The document outlines the steps to perform a reduce-side join which include tagging each dataset with an identity, creating a composite key, partitioning and sorting the data, then joining in the reducer based on the key.