hadoop-mapreduce-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ravi Gummadi (JIRA)" <j...@apache.org>
Subject [jira] Commented: (MAPREDUCE-1697) Document the behavior of -file option in streaming
Date Thu, 27 May 2010 05:25:37 GMT

    [ https://issues.apache.org/jira/browse/MAPREDUCE-1697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12872095#action_12872095

Ravi Gummadi commented on MAPREDUCE-1697:

Missed mentioning earlier.
In streaming.xml, under "Streaming Command Options", description about -file is as follows:
-file filename	    Optional 	      Make the mapper, reducer, or combiner executable available
locally on the compute nodes

Should we change this to the description similar to that is there in StreamJob.exitUsage()
instead of saying that -file option can take only mapper/reducer/combiner executables.

> Document the behavior of -file option in streaming
> --------------------------------------------------
>                 Key: MAPREDUCE-1697
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1697
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: contrib/streaming, documentation
>    Affects Versions: 0.20.1
>            Reporter: Amareshwari Sriramadasu
>             Fix For: 0.21.0, 0.22.0
>         Attachments: patch-1697-1.txt, patch-1697.txt
> The behavior of -file option in streaming is not documented anywhere.
> The behavior of -file is the following :
> 1) All the files passed through  -file option are packaged into job.jar.
> 2) If -file option is used for .class or .jar files, they are unjarred on tasktracker
and placed in ${mapred.local.dir}/taskTracker/jobcache/job_ID/jars/classes or /lib, respectively.
Symlinks to the directories classes and lib are created from the cwd of the task, . The names
of symlinks are "classes", "lib". So file names of .class or .jar files do not appear in cwd
of the task. 
> Paths to these files are automatically added to classpath. The tricky part is that hadoop
framework can pick .class or .jar using classpath, but actual mapper script cannot. If you'd
like to access these .class or .jar inside script, please do something like "java -cp lib/*;classes/*
> 3) If -file option is used for files other than .class or .jar (e.g, .txt or .pl), these
files are unjarred into ${mapred.local.dir}/taskTracker/jobcache/job_ID/jars/. Symlinks to
these files are created from the cwd of the task. Names of these symlinks are actually file

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message