You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Ted Yu (JIRA)" <ji...@apache.org> on 2010/04/29 23:08:54 UTC
[jira] Commented: (MAPREDUCE-1743) conf.get("map.input.file")
returns null when using MultipleInputs in Hadoop 0.20
[ https://issues.apache.org/jira/browse/MAPREDUCE-1743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12862408#action_12862408 ]
Ted Yu commented on MAPREDUCE-1743:
-----------------------------------
There is this check in updateJobWithSplit():
if (inputSplit instanceof FileSplit) {
Since TaggedInputSplit isn't an instance of FileSplit, "map.input.file" isn't set by updateJobWithSplit().
According to the usage in DelegatingInputFormat.getSplits():
splits.add(new TaggedInputSplit(pathSplit, conf, format.getClass(),
mapperClass));
One solution is to let TaggedInputSplit extend FileSplit.
> conf.get("map.input.file") returns null when using MultipleInputs in Hadoop 0.20
> --------------------------------------------------------------------------------
>
> Key: MAPREDUCE-1743
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1743
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Affects Versions: 0.20.2
> Reporter: Yuanyuan Tian
>
> There is a problem in getting the input file name in the mapper when uisng MultipleInputs in Hadoop 0.20. I need to use MultipleInputs to support different formats for my inputs to the my MapReduce job. And inside each mapper, I also need to know the exact input file that the mapper is processing. However, conf.get("map.input.file") returns null. Can anybody help me solve this problem? Thanks in advance.
> public class Test extends Configured implements Tool{
> static class InnerMapper extends MapReduceBase implements Mapper<Writable, Writable, NullWritable, Text>
> {
> ................
> ................
> public void configure(JobConf conf)
> {
> String inputName=conf.get("map.input.file"));
> .......................................
> }
>
> }
>
> public int run(String[] arg0) throws Exception {
> JonConf job;
> job = new JobConf(Test.class);
> ...........................................
>
> MultipleInputs.addInputPath(conf, new Path("A"), TextInputFormat.class);
> MultipleInputs.addInputPath(conf, new Path("B"), SequenceFileFormat.class);
> ...........................................
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.