Apple decided to remove this script in the newer versions of OSX.
a reduce_shuffle phase after reduce might be useful for decreasing the number of outputs that are given to the client. By default, one output is going to be created for each reduce. However, there might be a lot of reduce tasks (one per each label). The need_reduce_shuffle can be specified to request a simple stage to combine the results of reduce. By default, disco avoids the reduce_shuffle phase.
We have to make use of the fast hash function in python 2 and only fall back to the hashlib in python 3.