[
https://issues.apache.org/jira/browse/PIG-2184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13148213#comment-13148213
]
Daniel Dai commented on PIG-2184:
---------------------------------
Hi, Alan,
Here we need to replace 'key' to "$0". Parameter substitution does not allow
"$0" to be the value, but seems it takes "\\$0". This works but I am not if
there's a better fix.
> Not able to provide positional reference to macro invocations
> -------------------------------------------------------------
>
> Key: PIG-2184
> URL: https://issues.apache.org/jira/browse/PIG-2184
> Project: Pig
> Issue Type: Bug
> Affects Versions: 0.9.0
> Reporter: Vivek Padmanabhan
> Assignee: xuting zhao
> Fix For: 0.10
>
>
> It looks like the macro functionality doesnt support for positional
> references. The below is an example script;
> ----------------------------------------------------------------------------
> DEFINE my_macro (X,key) returns Y
> {
> tmp1 = foreach $X generate TOKENIZE((chararray)$key) as tokens;
> tmp2 = foreach tmp1 generate flatten(tokens);
> tmp3 = order tmp2 by $0;
> $Y = distinct tmp3;
> }
> A = load 'sometext' using TextLoader() as (row1) ;
> E = my_macro(A,A.$0);
> dump E;
> ----------------------------------------------------------------------------
> This script execution fails at parsing staging itself;
> org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1000: Error during
> parsing. <file try1.pig, line 16,
> column 16> mismatched input '.' expecting RIGHT_PAREN
> If i replace A.$0 with the field name ie row1 the script runs fine.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira