消耗计算量? 这是个什么词啊?23333。 你都把问题的标签加上“数据挖掘”了,怎么会问这种问题呢。 对一个程序来说,瓶颈就在IO和 CPU。(我觉得,你的意思应该是消耗 CPU 吧) 70k+,不算多。可以一次性都放入内存中,因此瓶颈不在 IO。 速度慢 twitter 几亿的数据,如果为了生成上月的热榜,即使用三四个小时来分析这些数据,也不算慢。分析一次,显示一个月。下月月底,再花三四个小时分析。 但是,如果像 segmentfault 网站一样,每次用户提问,都会在左边显示出相似问题,就算等半分钟,也觉得慢。 一台电脑不行,就多来几台,使用 Hadoop 的 MapReduce 模型,操作 N 台电脑,就像一台电脑一样。 不够快?你想实时的? 那只能用终极杀器了:Streaming(流)计算模型。 流计算的思路是,数据流进来的时候就处理。也就是数据一边流,我就一边开始处理了。牛X吧,基本上算是实时了。BUT,数据流过了,处理就结束了。最开始,我们分析了每个词的名词个数,现在有新要求了,要分析动词,不好意思,数据流走了,分析不了了。。。。 综上,你需要的是新的统计模型,试试 Streaming 吧。 看似 Streaming 很简单,很强大,实则不然。 那么问题来了:(留几个小问题) 数组长度未知,只遍历一次数组,找到最大的值。(难度:★) 数组长度未知,只遍历一次数组,找到出现次数最多的值。(难度:★★) 数组长度未知,只遍历一次数组,取出一个随机值。(注意要保证随机性 难度:★★★)
这是个什么词啊?23333。
你都把问题的标签加上“数据挖掘”了,怎么会问这种问题呢。
对一个程序来说,瓶颈就在IO和 CPU。(我觉得,你的意思应该是消耗 CPU 吧)
70k+,不算多。可以一次性都放入内存中,因此瓶颈不在 IO。
twitter 几亿的数据,如果为了生成上月的热榜,即使用三四个小时来分析这些数据,也不算慢。分析一次,显示一个月。下月月底,再花三四个小时分析。
但是,如果像 segmentfault 网站一样,每次用户提问,都会在左边显示出相似问题,就算等半分钟,也觉得慢。
一台电脑不行,就多来几台,使用 Hadoop 的 MapReduce 模型,操作 N 台电脑,就像一台电脑一样。
不够快?你想实时的?
那只能用终极杀器了:Streaming(流)计算模型。
流计算的思路是,数据流进来的时候就处理。也就是数据一边流,我就一边开始处理了。牛X吧,基本上算是实时了。BUT,数据流过了,处理就结束了。最开始,我们分析了每个词的名词个数,现在有新要求了,要分析动词,不好意思,数据流走了,分析不了了。。。。
综上,你需要的是新的统计模型,试试 Streaming 吧。
看似 Streaming 很简单,很强大,实则不然。
那么问题来了:(留几个小问题)
数组长度未知,只遍历一次数组,找到最大的值。(难度:★)
数组长度未知,只遍历一次数组,找到出现次数最多的值。(难度:★★)
数组长度未知,只遍历一次数组,取出一个随机值。(注意要保证随机性 难度:★★★)