用猪排序一个袋子

时间:2016-04-13 08:16:00

标签: apache-pig

我有以下结构

GROUPED_ANSWERS_PARENT_ID: {group: chararray,ANSWERS: {(id: chararray,score: long,parentId: chararray)}}

我的数据得分分别为27,287,35,37,46,48

((4,{(305467,27,4),(7,287,4),(2791,35,4),(594436,37,4),(110198,46,4),(7263,48,4)}))

我希望它按得分DESC排序并返回以下内容:

((4,{(7,287,4),(7263,48,4),(110198,46,4),(594436,37,4),(2791,35,4),(305467,27,4)}))

我尝试了以下但结果仍然不正确。

SORTED_GROUPED_ANSWERS_PARENT_ID = FOREACH GROUPED_ANSWERS_PARENT_ID {
   ORDER_BY_SCORE =  ORDER $1 BY score;
   GENERATE (group,ORDER_BY_SCORE);
}; 

非常感谢任何帮助。

PS:我看过这个post,但它没有帮助我

1 个答案:

答案 0 :(得分:0)

您缺少DESC关键字

SORTED_GROUPED_ANSWERS_PARENT_ID = FOREACH GROUPED_ANSWERS_PARENT_ID 
                         {
                                   ORDER_BY_SCORE =  ORDER ANSWERS BY score DESC;
                                   GENERATE (group,ORDER_BY_SCORE);
                         };