Hello guys, We wonder to know where the compression take place for MapOutputStream in Map phase.
We guess there are two possible places in sortAndSpill() at MapTask.java: Writer.append() or Writer.close() Which one makes compression? Appreciate very much for your response~ See lines marked by ****** as below (from sortAndSpill() at MapTask.java). for (int i = 0; i < partitions; ++i) { IFile.Writer<K, V> writer = null; try {; writer = new Writer<K, V>(job, out, keyClass, valClass, codec, spilledRecordsCounter); if (combinerRunner == null) { … key.reset(kvbuffer, kvindices[kvoff + KEYSTART], (kvindices[kvoff + VALSTART] - kvindices[kvoff + KEYSTART])); /**************************************/ writer.append(key, value); // The 1st possible place ++spindex; } } else { … } … // close the writer /**************************************/ writer.close(); // The 2st possible place -- Rui Hou (侯锐) Insititute of Technology, Chinese Academy of Sciences