海量数据访问,如何对1000000000000数据量的数据集进行随机汇总操作?

0
数据集结构非常简单,就是一个浮点数的列表,但数据量很大,
现在要对这个数据集进行随机的汇总,计算规则如下:
例如有10000万亿条数据,
给出一个区间,如:100,888888888,
要计算出位置为100到888888888这些数据的和。

如果单按计算规则来看,我个人感觉在内存中建一个连续的数组,然后通过直接寻址依此访问累加应该是最快得了,但是数据量太大,数组方案大概行不通。

求教各位还有木有别的方案能解决此问题啊?
已邀请:
1

seng - 从事BI、大数据、数据分析工作 2015-09-25 回答

分2部分时间
1,找到记录的时间
2,计算的时间

1.找到记录的时间数据可以按区间分割, 可以减少定位时间,不过数据读取的时间少不了
2.计算的时间和记录数和计算复杂度有关,

在一定的数据量下这些工作量是不会减少,分布计算这是把这些分散到不同的机器上计算,通过并行减少等待时间。
 
1

牟瑞 - 大数据 Hadoop 讲师 Hadoop入门课程地址:http://www.hellobi.com/course/39 有架构师,技术总监,CTO的职位请联系我! 2015-09-25 回答

如果真有那么大的数据量的,可以换一种思路,所谓的大数据,包括map/reduce的思想,其实就是“分而治之”,比如你把100000万亿的数据分成1万份,然后根据区间,然后选定数据在某几份数据里面,然后再将数据分开几千份什么的,然后再通过寻址,内存命中等方式来快速累加
0

GeorgeYao - 路漫漫其修远兮,吾将上下而求索! 2015-09-25 回答

其实所谓海量数据,也分结构化(关系型数据库)和分结构化(分关系型数据库);当其处理数据的时候也是按批次来进行运算,分布在不同的SPU server上进行多线程处理,最后将结果返回到一台Server上。

要回复问题请先登录注册