[jira] Commented: (PIG-656) Use of eval word in the package hierarchy of a UDF causes parse exception

2009-05-19 Thread Viraj Bhat (JIRA)

[ 
https://issues.apache.org/jira/browse/PIG-656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12710866#action_12710866
 ] 

Viraj Bhat commented on PIG-656:


Olga the problem with "eval" keyword is that it is not found in the manuals, 
http://hadoop.apache.org/pig/docs/r0.2.0/piglatin.html. 

The only way the Pig user can get a hold of this keyword is opening the file,  
QueryParser.jjt and looking for the following line TOKEN : {  }

The Pig Manual should list all valid keywords in Pig (implemented or not).

Please let me know.

Viraj

> Use of eval word in the package hierarchy of a UDF causes parse exception
> -
>
> Key: PIG-656
> URL: https://issues.apache.org/jira/browse/PIG-656
> Project: Pig
>  Issue Type: Bug
>  Components: documentation, grunt
>Affects Versions: 0.2.0
>Reporter: Viraj Bhat
> Fix For: 0.2.0
>
> Attachments: mywordcount.txt, TOKENIZE.jar
>
>
> Consider a Pig script which does something similar to a word count. It uses 
> the built-in TOKENIZE function, but packages it inside a class hierarchy such 
> as "mypackage.eval"
> {code}
> register TOKENIZE.jar
> my_src  = LOAD '/user/viraj/mywordcount.txt' USING PigStorage('\t')  AS 
> (mlist: chararray);
> modules = FOREACH my_src GENERATE FLATTEN(mypackage.eval.TOKENIZE(mlist));
> describe modules;
> grouped = GROUP modules BY $0;
> describe grouped;
> counts  = FOREACH grouped GENERATE COUNT(modules), group;
> ordered = ORDER counts BY $0;
> dump ordered;
> {code}
> The parser complains:
> ===
> 2009-02-05 01:17:29,231 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 
> 1000: Error during parsing. Invalid alias: mypackage in {mlist: chararray}
> ===
> I looked at the following source code at 
> (src/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt) and it seems 
> that : EVAL is a keyword in Pig. Here are some clarifications:
> 1) Is there documentation on what the EVAL keyword actually is?
> 2) Is EVAL keyword actually implemented?
> Viraj

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (PIG-656) Use of eval word in the package hierarchy of a UDF causes parse exception

2009-05-19 Thread Viraj Bhat (JIRA)

[ 
https://issues.apache.org/jira/browse/PIG-656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12710862#action_12710862
 ] 

Viraj Bhat commented on PIG-656:


Another pig parse issue when a udf was defined within a package which had 
"matches" keywords in its path.

So something like :
define DISTANCE_SCORE mypackage.pig.udf.matches.LevensteinMatchUDF();

gives a parse error

"
ERROR 1000: Error during parsing. Encountered " "matches" "matches "" at 
line 11, column 42.
Was expecting:
  ...
"

It is possible to have keywords from pig within package names or even  udf - 
shouldn't pig not be robust to simple grammar disambiguation of  this sort ?

> Use of eval word in the package hierarchy of a UDF causes parse exception
> -
>
> Key: PIG-656
> URL: https://issues.apache.org/jira/browse/PIG-656
> Project: Pig
>  Issue Type: Bug
>  Components: documentation, grunt
>Affects Versions: 0.2.0
>Reporter: Viraj Bhat
> Fix For: 0.2.0
>
> Attachments: mywordcount.txt, TOKENIZE.jar
>
>
> Consider a Pig script which does something similar to a word count. It uses 
> the built-in TOKENIZE function, but packages it inside a class hierarchy such 
> as "mypackage.eval"
> {code}
> register TOKENIZE.jar
> my_src  = LOAD '/user/viraj/mywordcount.txt' USING PigStorage('\t')  AS 
> (mlist: chararray);
> modules = FOREACH my_src GENERATE FLATTEN(mypackage.eval.TOKENIZE(mlist));
> describe modules;
> grouped = GROUP modules BY $0;
> describe grouped;
> counts  = FOREACH grouped GENERATE COUNT(modules), group;
> ordered = ORDER counts BY $0;
> dump ordered;
> {code}
> The parser complains:
> ===
> 2009-02-05 01:17:29,231 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 
> 1000: Error during parsing. Invalid alias: mypackage in {mlist: chararray}
> ===
> I looked at the following source code at 
> (src/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt) and it seems 
> that : EVAL is a keyword in Pig. Here are some clarifications:
> 1) Is there documentation on what the EVAL keyword actually is?
> 2) Is EVAL keyword actually implemented?
> Viraj

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.