2014-03-05 48 views
0

我的問題是關於RANK inside the bag?宏在foreach裏面不工作?

我試圖通過宏來解決它。
宏定義和加載的數據:

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); 

是否有可能使用RANK裏面的foreach?

問候

帕維爾

回答