avatar
最popular url的算法问题# JobHunting - 待字闺中
e*9
1
一个很大的日志文件
每行有两个field,第一个field是url, 第二个field是userid
最popular url的定义是最多unique user去点的链接。
比如两个链接,第一个只有一个用户点,点了一千次。
第二个链接十个用户点,每人点了一次。
这样第二个链接更popular.
想了想怎么都是一个n * m的复杂度。
有什么更高效的处理算法吗?
avatar
c*y
3
我猜n是unique URL num,m是unique USER num?要是有m*n条log那跑不了是O(m*n)了
,但一般不会吧。map啥的不就做了。内存不够就distributed map
avatar
e*9
4
n是unique URL num,m是unique USER num。
map怎么搞?不work.
感觉就是需要一个m * n的遍历。
avatar
c*y
5
你这问题到底是动态还是静态提取最热点?静态感觉没意义啊。动态就得想怎么存log
的信息,怎么拿热点最快。估计就是个heap吧。map用来找url在heap里的位置。什么不
够了就分散到多个机器上。

【在 e****9 的大作中提到】
: n是unique URL num,m是unique USER num。
: map怎么搞?不work.
: 感觉就是需要一个m * n的遍历。

avatar
e*9
6
静态的。
静态的也有意义啊 。大概可以分析出那些url比较受欢迎。
就是这个静态分析当数据量大的时候计算都很困难。

log

【在 c*******y 的大作中提到】
: 你这问题到底是动态还是静态提取最热点?静态感觉没意义啊。动态就得想怎么存log
: 的信息,怎么拿热点最快。估计就是个heap吧。map用来找url在heap里的位置。什么不
: 够了就分散到多个机器上。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。