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, mapOutputFieldSeparator, numOfMapOutputKeyFields, numOfMapOutputPartitionFields, numOfReduceOutputKeyFields, outerrThreadsThrowable, reduceOutFieldSeparator
 
Constructor Summary
PipeMapper()
           
 
Method Summary
 void close()
           
 void configure(JobConf job)
          Initializes a new instance from a JobConf.
 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
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


Copyright © 2008 The Apache Software Foundation