org.apache.hadoop.streaming
Class PipeMapper

java.lang.Object
  extended by org.apache.hadoop.streaming.PipeMapRed
      extended by org.apache.hadoop.streaming.PipeMapper
All Implemented Interfaces:
Closeable, JobConfigurable, Mapper

public class PipeMapper
extends PipeMapRed
implements Mapper

A generic Mapper bridge. It delegates operations to an external program via stdin and stdout.


Field Summary
 
Fields inherited from class org.apache.hadoop.streaming.PipeMapRed
LOG, outerrThreadsThrowable
 
Constructor Summary
PipeMapper()
           
 
Method Summary
 void close()
           
 void configure(JobConf job)
          Initializes a new instance from a JobConf.
 byte[] getFieldSeparator()
          Returns the field separator to be used.
 byte[] getInputSeparator()
          Returns the input separator to be used.
 int getNumOfKeyFields()
          Returns the number of key fields.
 void map(Object key, Object value, OutputCollector output, Reporter reporter)
          Maps a single input key/value pair into an intermediate key/value pair.
 
Methods inherited from class org.apache.hadoop.streaming.PipeMapRed
getClientInput, getClientOutput, getConfiguration, getContext, mapRedFinished
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PipeMapper

public PipeMapper()
Method Detail

configure

public void configure(JobConf job)
Description copied from interface: JobConfigurable
Initializes a new instance from a JobConf.

Specified by:
configure in interface JobConfigurable
Overrides:
configure in class PipeMapRed
Parameters:
job - the configuration

map

public void map(Object key,
                Object value,
                OutputCollector output,
                Reporter reporter)
         throws IOException
Description copied from interface: Mapper
Maps a single input key/value pair into an intermediate key/value pair.

Output pairs need not be of the same types as input pairs. A given input pair may map to zero or many output pairs. Output pairs are collected with calls to OutputCollector.collect(Object,Object).

Applications can use the Reporter provided to report progress or just indicate that they are alive. In scenarios where the application takes an insignificant amount of time to process individual key/value pairs, this is crucial since the framework might assume that the task has timed-out and kill that task. The other way of avoiding this is to set mapred.task.timeout to a high-enough value (or even zero for no time-outs).

Specified by:
map in interface Mapper
Parameters:
key - the input key.
value - the input value.
output - collects mapped keys and values.
reporter - facility to report progress.
Throws:
IOException

close

public void close()
Specified by:
close in interface Closeable

getInputSeparator

public byte[] getInputSeparator()
Description copied from class: PipeMapRed
Returns the input separator to be used.

Specified by:
getInputSeparator in class PipeMapRed

getFieldSeparator

public byte[] getFieldSeparator()
Description copied from class: PipeMapRed
Returns the field separator to be used.

Specified by:
getFieldSeparator in class PipeMapRed

getNumOfKeyFields

public int getNumOfKeyFields()
Description copied from class: PipeMapRed
Returns the number of key fields.

Specified by:
getNumOfKeyFields in class PipeMapRed


Copyright © 2009 The Apache Software Foundation