有如下格式的数据
url | ip
-----------------------+-----------------
http://aaa.com/ | 1.1.1.1
http://bbb.com/ | 1.2.3.5
http://ccc.com/ | 1.1.1.6
http://ddd.com/ | 1.2.3.4
http://ccc.com/ | 1.1.1.2
http://ccc.com/ | 1.1.1.2
http://ccc.com/ | 1.1.1.2
http://aaa.com/ | 1.1.1.1
http://bbb.com/ | 1.2.3.5
我现在试图计算ip列,这是前n ip在每个组的网址。喜欢
url | ip | ipcount
-----------------------+-----------------+-----------------
http://aaa.com/ | 1.1.1.1 | 2
http://aaa.com/ | 5.6.7.8 | 1
http://bbb.com/ | 1.2.3.5 | 2
http://ccc.com/ | 1.1.1.2 | 3
http://ccc.com/ | 1.1.1.6 | 1
http://ddd.com/ | 1.2.3.4 | 1
请告诉我如何编写一个hql来在hive中实现这个功能?
更新:对不起,我忘了注意到,我应该得到前n名的记录在每个组像。。。
2条答案
按热度按时间fnx2tebb1#
尝试:
SELECT url, ip, COUNT(url) FROM tbl GROUP BY url, ip
lstz6jyr2#
这对你来说应该有用。