The path is defined by the FileOutputFormat in use.  In particular, I think 
this function is responsible:

http://hadoop.apache.org/common/docs/r0.20.2/api/org/apache/hadoop/mapreduce/lib/output/FileOutputFormat.html#getDefaultWorkFile(org.apache.hadoop.mapreduce.TaskAttemptContext,
 
java.lang.String)

It should give you the file path before all tasks have completed and the output 
is committed to the final output path.

Luca

On May 23, 2011 14:42:04 Joey Echeverria wrote:
> Hi Mark,
> 
> FYI, I'm moving the discussion over to
> mapreduce-u...@hadoop.apache.org since your question is specific to
> MapReduce.
> 
> You can derive the output name from the TaskAttemptID which you can
> get by calling getTaskAttemptID() on the context passed to your
> cleanup() funciton. The task attempt id will look like this:
> 
> attempt_200707121733_0003_m_000005_0
> 
> You're interested in the m_000005 part, This gets translated into the
> output file name part-m-00005.
> 
> -Joey
> 
> On Sat, May 21, 2011 at 8:03 PM, Mark question <markq2...@gmail.com> wrote:
> > Hi,
> > 
> >  I'm running a job with maps only  and I want by end of each map
> > (ie.Close() function) to open the file that the current map has wrote
> > using its output.collector.
> > 
> >  I know "job.getWorkingDirectory()"  would give me the parent path of the
> > file written, but how to get the full path or the name (ie. part-00000 or
> > part-00001).
> > 
> > Thanks,
> > Mark

-- 
Luca Pireddu
CRS4 - Distributed Computing Group
Loc. Pixina Manna Edificio 1
Pula 09010 (CA), Italy
Tel:  +39 0709250452

Reply via email to