我有一个hive表,其字段类似于:
卖方,catgid,subcatgid,PRODID,productdetail1,productdetail2 ....
现在,我想提取每个子类别(卖家,catgid,subcatgid的组合)的前10个产品列表(基于计数),并希望获得如下结果:
Seller1,catg1,subcatg1,{{prodid1,prod1details},{prodid2,prod2details},{prodid3,prod3details},{prodid4,prod4details} ....}
Seller2,catg2,subcatg2,{{prodid5,prod5details},{prodid6,prod6details},{prodid7,prod7details},{prodid8,prod8details} ....}
所以基本上我想要所有前10个产品的产品细节(最好是json格式),直到每个子类别 水平。 这是否可以通过配置单元查询?如果是的话,那么请你提供一个例子,如果没有,是否还有其他选择?
答案 0 :(得分:0)
在http://ragrawal.wordpress.com/2011/11/18/extract-top-n-records-in-each-group-in-hadoophive/
找到上述问题的答案答案 1 :(得分:0)
莫希特, 看一下' collect_max' Brickhouse中的UDF(http://github.com/klout/brickhouse)。我认为它可以为更大的数据集提供更具可扩展性的解决方案(因为您可以减少需要进行的排序)。