[ https://issues.apache.org/jira/browse/PIG-879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12729744#action_12729744 ]
Hong Tang commented on PIG-879: ------------------------------- 1) and 3) are kind of equivalent to user, and are preferred for customized loaders that do not wish pig to do the escaping at all. > Pig should provide a way for input location string in load statement to be > passed as-is to the Loader > ----------------------------------------------------------------------------------------------------- > > Key: PIG-879 > URL: https://issues.apache.org/jira/browse/PIG-879 > Project: Pig > Issue Type: Bug > Affects Versions: 0.3.0 > Reporter: Pradeep Kamath > > Due to multiquery optimization, Pig always converts the filenames to > absolute URIs (see > http://wiki.apache.org/pig/PigMultiQueryPerformanceSpecification - section > about Incompatible Changes - Path Names and Schemes). This is necessary since > the script may have "cd .." statements between load or store statements and > if the load statements have relative paths, we would need to convert to > absolute paths to know where to load/store from. To do this > QueryParser.massageFilename() has the code below[1] which basically gives the > fully qualified hdfs path > > However the issue with this approach is that if the filename string is > something like > "hdfs://localhost.localdomain:39125/user/bla/1,hdfs://localhost.localdomain:39125/user/bla/2", > the code below[1] actually translates this to > hdfs://localhost.localdomain:38264/user/bla/1,hdfs://localhost.localdomain:38264/user/bla/2 > and throws an exception that it is an incorrect path. > > Some loaders may want to interpret the filenames (the input location string > in the load statement) in any way they wish and may want Pig to not make > absolute paths out of them. > > There are a few options to address this: > 1) A command line switch to indicate to Pig that pathnames in the script > are all absolute and hence Pig should not alter them and pass them as-is to > Loaders and Storers. > 2) A keyword in the load and store statements to indicate the same intent > to pig > 3) A property which users can supply on cmdline or in pig.properties to > indicate the same intent. > 4) A method in LoadFunc - relativeToAbsolutePath(String filename, String > curDir) which does the conversion to absolute - this way Loader can chose to > implement it as a noop. > Thoughts? > -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.