|
@@ -875,7 +875,7 @@ public class StreamJob implements Tool {
|
|
IdentifierResolver.TEXT_ID));
|
|
IdentifierResolver.TEXT_ID));
|
|
jobConf_.setClass("stream.map.output.reader.class",
|
|
jobConf_.setClass("stream.map.output.reader.class",
|
|
idResolver.getOutputReaderClass(), OutputReader.class);
|
|
idResolver.getOutputReaderClass(), OutputReader.class);
|
|
- if (isMapperACommand) {
|
|
|
|
|
|
+ if (isMapperACommand || jobConf_.get("stream.map.output") != null) {
|
|
// if mapper is a command, then map output key/value classes come from the
|
|
// if mapper is a command, then map output key/value classes come from the
|
|
// idResolver
|
|
// idResolver
|
|
jobConf_.setMapOutputKeyClass(idResolver.getOutputKeyClass());
|
|
jobConf_.setMapOutputKeyClass(idResolver.getOutputKeyClass());
|
|
@@ -891,7 +891,7 @@ public class StreamJob implements Tool {
|
|
IdentifierResolver.TEXT_ID));
|
|
IdentifierResolver.TEXT_ID));
|
|
jobConf_.setClass("stream.reduce.output.reader.class",
|
|
jobConf_.setClass("stream.reduce.output.reader.class",
|
|
idResolver.getOutputReaderClass(), OutputReader.class);
|
|
idResolver.getOutputReaderClass(), OutputReader.class);
|
|
- if (isReducerACommand) {
|
|
|
|
|
|
+ if (isReducerACommand || jobConf_.get("stream.reduce.output") != null) {
|
|
// if reducer is a command, then output key/value classes come from the
|
|
// if reducer is a command, then output key/value classes come from the
|
|
// idResolver
|
|
// idResolver
|
|
jobConf_.setOutputKeyClass(idResolver.getOutputKeyClass());
|
|
jobConf_.setOutputKeyClass(idResolver.getOutputKeyClass());
|