我的理解是计算百分位数,需要对数据进行排序.这可能是因为大量数据分布在多个服务器上而不会移动它们吗?
最佳答案
虽然MapReduce作为范例看起来并不适合这个问题,但hadoop的MR实现却是.
Hadoop的map reduce实现基于分布式排序 – 这正是您所需要的. Hadoop只通过在服务器之间移动数据进行排序 – 不是那么糟糕.
我建议看一下hadoop terasort的实现,它说明了用hadoop对大量数据进行排序的好方法(也可能是最好的方法). http://hadoop.apache.org/docs/current/api/org/apache/hadoop/examples/terasort/package-summary.html
Hadoop的map reduce实现基于分布式排序 – 这正是您所需要的. Hadoop只通过在服务器之间移动数据进行排序 – 不是那么糟糕.
我建议看一下hadoop terasort的实现,它说明了用hadoop对大量数据进行排序的好方法(也可能是最好的方法). http://hadoop.apache.org/docs/current/api/org/apache/hadoop/examples/terasort/package-summary.html