Rather than adding a Secondary Sort to a slow Reduce job, it is Hadoop best practice to perform which optimization?
Break the Reduce job into multiple, chained Map jobs.
Break the Reduce job into multiple, chained Reduce jobs.
Add a partitioned shuffle to the Reduce job.
Add a partitioned shuffle to the Map job.