You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@pig.apache.org by Bill Graham <bi...@gmail.com> on 2012/08/10 00:41:59 UTC

Re: Trunk version does not like my macros

I'm able to reproduce. Here's a JIRA:
https://issues.apache.org/jira/browse/PIG-2866

The issue is that QueryParserDriver assumes that the script has a file
associated with it. It doesn't handle the case where the script is read
from an InputStream. I'll update the JIRA with a workaround, which is to
write the script to a temp file and pass that to PigServer.

On Fri, Jul 27, 2012 at 7:02 AM, Alex Rovner <al...@gmail.com> wrote:

> Alan,
>
> Any idea why it might be failing?
>
> Thanks
>
> Sent from my iPhone
>
> On Jul 26, 2012, at 4:28 PM, Alan Gates <ga...@hortonworks.com> wrote:
>
> > Apache mail servers strip attachments.  Could you post your script
> somewhere or send it inline?
> >
> > Alan.
> >
> > On Jul 26, 2012, at 7:41 AM, Alex Rovner wrote:
> >
> >> Gentlemen,
> >>
> >> We have recently attempted to compile and use the latest trunk code and
> have encountered a rather strange issue. Our job which is attached, has
> been working fine on V11 of pig that we have compiled of trunk a while back:
> >>
> >> Apache Pig version 0.11.0-SNAPSHOT (r1227411)
> >> compiled Jan 04 2012, 19:34:06
> >>
> >> When we attempted to switch to the latest trunk version yesterday, we
> have encountered the following exception:
> >>
> >>
> >> Caused by: org.apache.pig.impl.logicalLayer.FrontendException: ERROR
> 1000: Error during parsing. Can not create a Path from a null string
> >>    at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1595)
> >>    at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1534)
> >>    at org.apache.pig.PigServer.registerQuery(PigServer.java:516)
> >>    at
> org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:987)
> >>    at
> org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:412)
> >>    at
> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:193)
> >>    at org.apache.pig.PigServer.registerScript(PigServer.java:590)
> >>    at org.apache.pig.PigServer.registerScript(PigServer.java:692)
> >>    at org.apache.pig.PigServer.registerScript(PigServer.java:665)
> >>    at
> com.proclivitysystems.etl.job.PIGJobRunner.run(PIGJobRunner.java:244)
> >>    ... 2 more
> >> Caused by: java.lang.IllegalArgumentException: Can not create a Path
> from a null string
> >>    at org.apache.hadoop.fs.Path.checkPathArg(Path.java:78)
> >>    at org.apache.hadoop.fs.Path.<init>(Path.java:90)
> >>    at
> org.apache.pig.impl.io.FileLocalizer.fetchFilesInternal(FileLocalizer.java:766)
> >>    at
> org.apache.pig.impl.io.FileLocalizer.fetchFile(FileLocalizer.java:733)
> >>    at
> org.apache.pig.parser.QueryParserDriver.getMacroFile(QueryParserDriver.java:350)
> >>    at
> org.apache.pig.parser.QueryParserDriver.makeMacroDef(QueryParserDriver.java:406)
> >>    at
> org.apache.pig.parser.QueryParserDriver.expandMacro(QueryParserDriver.java:268)
> >>    at
> org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:169)
> >>    at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1587)
> >>    ... 11 more
> >>
> >>
> >> I have tried to step through to figure out whats going on, and it seems
> like the parser is trying to load our macro named "roas" from a "null" file
> thus causing this issue. As you can see in the script we are not
> referencing any external macros. All macros are defined within the file.
> >>
> >> Any help would be appreciated.
> >>
> >> Thanks
> >> Alex
> >
>



-- 
*Note that I'm no longer using my Yahoo! email address. Please email me at
billgraham@gmail.com going forward.*