protected static Integer checkNumReducer(int creduce, int preduce) {
    if (creduce < 0) {
      if (preduce < 0) {
        return 0;
      }
      return -1;
    }
    if (preduce < 0) {
      return 1;
    }
    if (creduce != preduce) {
      return null;
    }
    return 0;
  }
If number of reducers for RS is -1, the RS can have any number of reducers.
It's generally true except for order-by or forced bucketing cases.
if both of num-reducers are not -1, those number should be the same.
ql/src/java/org/apache/hadoop/hive/ql/optimizer/correlation/ReduceSinkDeDuplicationUtils.java