宏在foreach内部不起作用?

时间:2014-03-05 11:51:54

标签: hadoop apache-pig

我的问题与RANK inside the bag?

有关

我试图用宏来解决它 宏定义和加载数据:

DEFINE ranked(A) returns B {
   $B = RANK $A;
};
events = LOAD 'stage.events' USING org.apache.hcatalog.pig.HCatLoader();
group_by_msisdn = GROUP events by msisdn;

现在测试。
这两项工作:

a = ranked(events);
a = ranked(group_by_msisdn);

但是当我尝试在foreach子句中使用宏时,我得到了错误。 这些都不起作用:

a = foreach group_by_msisdn generate ranked($1);
a = foreach events { b = ranked($1); generate b; }
a = foreach events generate ranked($1);

是否可以在foreach中使用RANK?

此致

的Pawel

1 个答案:

答案 0 :(得分:0)

似乎没有。请参阅2013年初的this post

但是作者建议我们也可以在his another post中将UDF实现为一种变通办法。