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 "Himanshu (JIRA)" <ji...@apache.org> on 2015/08/20 19:01:46 UTC

[jira] [Commented] (MAPREDUCE-5061) MultipleInputs can not manage path with glob characters like {a,b}

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

Himanshu commented on MAPREDUCE-5061:
-------------------------------------

FileInputFormat.java contains 
  // This method escapes commas in the glob pattern of the given paths.
  private static String[] getPathStrings(String commaSeparatedPaths) {..}

we can  make that method public and possibly do following in the MultipleInputs.addInputPath(..)

for (String p : FileInputFormat.getPathStrings(path)) {
  //add the path p , it will not have commas
}

> MultipleInputs can not manage path with glob characters like {a,b}
> ------------------------------------------------------------------
>
>                 Key: MAPREDUCE-5061
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-5061
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>            Reporter: Thierry Granger
>            Priority: Minor
>
> Hello,
> The org.apache.hadoop.mapreduce.lib.input.MultipleInputs expects a configuration with : 
>    * the parameter mapreduce.input.multipleinputs.dir.mappers in the format <path 1>,<mapper class 1>;<path 2>,<mapper class 2>
>    * the parameter mapreduce.input.multipleinputs.dir.formats in the format <path 1>,<input format class 1>;<path 2>,<input format class 2>
> The usage of the comma as separator unable the use of the glob characters {a,b} in the path (like : hdfs://localhost/user/foo/data201{2,3} ).
> I suggest to change the separator to another non-problematic one (maybe =).
> I patched the MultipleInputs code locally and found an other related issue : 
> when the path are created, the string representing the path is not unescape (like it's done in the org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getInputPaths method) which makes an invalid path in case of glob characters {a\,b}
> Thank you



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)