hive按播放查找前n个页面

vmpqdwk3  于 2021-05-30  发布在  Hadoop
关注(0)|答案(2)|浏览(335)

我们有一个表,希望在其中存储前100页的数据。
如果目标表top100页

uid string, 
 mid string, 
 pageurl string,
 plays string,
 device string

要填充此表,我可以运行:

SELECT uid, mid,pageurl,sum(plays),device from $sourceTable where day= $date GROUP BY uid, mid,page url,device;

此查询将提取所有页面的数据。如何修改此查询,使其仅返回前n页的数据?

n8ghc7c1

n8ghc7c11#

这是你想要的吗?

select uid, mid, pageurl, sum(plays), device
from $sourceTable
where day = $date
group by uid, mid, page url, device
order by sum(plays)
limit 100;
oyjwcjzk

oyjwcjzk2#

这个 LIMIT 条款描述见https://cwiki.apache.org/confluence/display/hive/languagemanual+select#languagemanualselect-limitclause限制结果,但它们是随机选择的。
正如您在链接中看到的,您可以将减速器限制为1,然后应用特定的 SORT BY 合同前条款 LIMIT 得到“顶n”的等价物。

相关问题