Adaptive and Heterogeneous Hadoop MapReduce