avatar
m*y
1
比如分布式的机器上处理和存了很多数据,怎么高效的把前1000个data (assuming数
据有某种先后或优先的级别关系)找出来?
avatar
u*n
2
假设每个分布式里面都是排序的,每个分布式的前1000个拿出来做排序,肯定。找到前
1000个

【在 m*******y 的大作中提到】
: 比如分布式的机器上处理和存了很多数据,怎么高效的把前1000个data (assuming数
: 据有某种先后或优先的级别关系)找出来?

avatar
j*r
3
这不是典型的mapreduce?

【在 m*******y 的大作中提到】
: 比如分布式的机器上处理和存了很多数据,怎么高效的把前1000个data (assuming数
: 据有某种先后或优先的级别关系)找出来?

avatar
w*w
4
"教你如何迅速秒杀掉 99%海量数据处理面试题"
avatar
H*5
5
赞这个

【在 w*****w 的大作中提到】
: "教你如何迅速秒杀掉 99%海量数据处理面试题"
avatar
m*y
6
如果这个问的重点不是数据已经分布存好了,然后问怎么处理海量数据,
而是问怎么设计这个分布式系统(收到新的数据/request怎么处理, 怎么存, etc)
可以尽量避免这一类数据处理,而仍然可以高效的达到目的呢?

【在 w*****w 的大作中提到】
: "教你如何迅速秒杀掉 99%海量数据处理面试题"
avatar
c*e
7

假设有100个机器,假设数据基本随机分布在各个机器里,那么每个机器中,把前20个
拿出来排序,就很可能找到前1000个
如果发现有某机器提供的20个数据中,最小的那个数据在总排名中是前1000的,说明此
机器中20名之后的数据,有可能是总排名中前1000的,但是第一次没拿出来。那么根据
首次20个数据中最小的数据在总排名中的位置,适当再次从此机器取数据,当然是排名
越靠前,那么再次取的数据更多一点比较好。
整个算法的前提是,数据基本随机平均分布在各个机器中。如果数据是明显有序分布的
,那么算法就不合适了

【在 u***n 的大作中提到】
: 假设每个分布式里面都是排序的,每个分布式的前1000个拿出来做排序,肯定。找到前
: 1000个

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