You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@pig.apache.org by Christian <en...@gmail.com> on 2010/01/06 17:56:21 UTC

ParseException when using PigServer.registerScript against a file that has a %declare directive

Hi,

We are trying to test a pig script using JUnit and the PigServer. This pig
script uses parameters. It works great running it through the pig command
line, but the registerScript function blows with a ParseException on both
the %declare and %default directives.

org.apache.pig.tools.pigscript.parser.ParseException: Encountered " <PATH>
"%declare "" at line 2, column 1.
Was expecting one of:
    <EOF>
    "cat" ...
    "cd" ...
    "cp" ...
...


Am I doing something wrong?

Thanks,
Christian

RE: ParseException when using PigServer.registerScript against a file that has a %declare directive

Posted by Olga Natkovich <ol...@yahoo-inc.com>.
Yes, parameter substitution is implemented as a preprocessor that
rewrites the script before passing it to PigServer.

Olga

-----Original Message-----
From: Christian [mailto:engrean@gmail.com] 
Sent: Wednesday, January 06, 2010 8:56 AM
To: pig-user@hadoop.apache.org
Subject: ParseException when using PigServer.registerScript against a
file that has a %declare directive

Hi,

We are trying to test a pig script using JUnit and the PigServer. This
pig
script uses parameters. It works great running it through the pig
command
line, but the registerScript function blows with a ParseException on
both
the %declare and %default directives.

org.apache.pig.tools.pigscript.parser.ParseException: Encountered "
<PATH>
"%declare "" at line 2, column 1.
Was expecting one of:
    <EOF>
    "cat" ...
    "cd" ...
    "cp" ...
...


Am I doing something wrong?

Thanks,
Christian

Re: ParseException when using PigServer.registerScript against a file that has a %declare directive

Posted by Thejas Nair <te...@yahoo-inc.com>.
Hi Christian,
Parameter substitution is currently supported only for the command line mode
(batch mode). 
A preprocessor processes the entire pig-script at once to do parameter
substitution. This preprocessor does not get invoked when you call PigServer
directly or if the interactive mode (grunt shell) is used.

-Thejas




On 1/6/10 8:56 AM, "Christian" <en...@gmail.com> wrote:

> Hi,
> 
> We are trying to test a pig script using JUnit and the PigServer. This pig
> script uses parameters. It works great running it through the pig command
> line, but the registerScript function blows with a ParseException on both
> the %declare and %default directives.
> 
> org.apache.pig.tools.pigscript.parser.ParseException: Encountered " <PATH>
> "%declare "" at line 2, column 1.
> Was expecting one of:
>     <EOF>
>     "cat" ...
>     "cd" ...
>     "cp" ...
> ...
> 
> 
> Am I doing something wrong?
> 
> Thanks,
> Christian