private void setupMapRedWork(HiveConf conf, MapWork mWork, long targetSize, long totalSize) {
    mWork.setMaxSplitSize(targetSize);
    mWork.setMinSplitSize(targetSize);
    mWork.setMinSplitSizePerNode(targetSize);
    mWork.setMinSplitSizePerRack(targetSize);
    mWork.setIsMergeFromResolver(true);
  }
This method generates actual task for conditional tasks. It could be
1. move task only
2. merge task only
3. merge task followed by a move task.
It used to be true for dynamic partition only since static partition doesn't have #3.
It changes w/ list bucketing. Static partition has #3 since it has sub-directories.
For example, if a static partition is defined as skewed and stored-as-directories,
instead of all files in one directory, it will create a sub-dir per skewed value plus
default directory. So #3 is required for static partition.
So, we move it to a method so that it can be used by both SP and DP.
@param conf
@param resTsks
@param trgtSize
@param avgConditionSize
@param mvTask
@param mrTask
@param mrAndMvTask
@param dirPath
@param inpFs
@param ctx
@param work
@param dpLbLevel
@throws IOException
ql/src/java/org/apache/hadoop/hive/ql/plan/ConditionalResolverMergeFiles.java