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 Reduce jobs.
Break the Reduce job into multiple, chained Map jobs.
Add a partitioned shuffle to the Reduce job.
Add a partitioned shuffle to the Map job.