[jira] Commented: (PIG-656) Use of eval word in the package hierarchy of a UDF causes parse exception
[ 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
[ 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.