e****9 发帖数: 316 | 1 一个很大的日志文件
每行有两个field,第一个field是url, 第二个field是userid
最popular url的定义是最多unique user去点的链接。
比如两个链接,第一个只有一个用户点,点了一千次。
第二个链接十个用户点,每人点了一次。
这样第二个链接更popular.
想了想怎么都是一个n * m的复杂度。
有什么更高效的处理算法吗? |
e****9 发帖数: 316 | |
c*******y 发帖数: 98 | 3 我猜n是unique URL num,m是unique USER num?要是有m*n条log那跑不了是O(m*n)了
,但一般不会吧。map啥的不就做了。内存不够就distributed map |
e****9 发帖数: 316 | 4 n是unique URL num,m是unique USER num。
map怎么搞?不work.
感觉就是需要一个m * n的遍历。 |
c*******y 发帖数: 98 | 5 你这问题到底是动态还是静态提取最热点?静态感觉没意义啊。动态就得想怎么存log
的信息,怎么拿热点最快。估计就是个heap吧。map用来找url在heap里的位置。什么不
够了就分散到多个机器上。
【在 e****9 的大作中提到】 : n是unique URL num,m是unique USER num。 : map怎么搞?不work. : 感觉就是需要一个m * n的遍历。
|
e****9 发帖数: 316 | 6 静态的。
静态的也有意义啊 。大概可以分析出那些url比较受欢迎。
就是这个静态分析当数据量大的时候计算都很困难。
log
【在 c*******y 的大作中提到】 : 你这问题到底是动态还是静态提取最热点?静态感觉没意义啊。动态就得想怎么存log : 的信息,怎么拿热点最快。估计就是个heap吧。map用来找url在heap里的位置。什么不 : 够了就分散到多个机器上。
|