Sorting 对云中的大量数据进行排序?

Sorting 对云中的大量数据进行排序?,sorting,cloud,distributed,Sorting,Cloud,Distributed,如果云存储文件夹中有1PB的数据,那么对所有数据进行排序的最快方法是什么?对其中的小块进行排序很容易,但是将它们合并到一个较大的排序输出中会花费较长的时间,因为在某个时候,单个进程必须合并整个内容。我想避免这种情况,并有一个完全分布式的解决方案,有办法吗?如果是这样,是否有任何实现适合用于对S3中的数据进行排序?因为需要排序的数据量超过了RAM(很多),唯一合理的方法(据我所知)是先对数据块进行排序,然后将它们合并在一起 是完成这项任务的最佳方式。您可以使用并行进程同时对不同的数据块进行排序,这

如果云存储文件夹中有1PB的数据,那么对所有数据进行排序的最快方法是什么?对其中的小块进行排序很容易,但是将它们合并到一个较大的排序输出中会花费较长的时间,因为在某个时候,单个进程必须合并整个内容。我想避免这种情况,并有一个完全分布式的解决方案,有办法吗?如果是这样,是否有任何实现适合用于对S3中的数据进行排序?

因为需要排序的数据量超过了RAM(很多),唯一合理的方法(据我所知)是先对数据块进行排序,然后将它们合并在一起

是完成这项任务的最佳方式。您可以使用并行进程同时对不同的数据块进行排序,这将加快排序速度

问题是,在对块进行排序后,您不必让一个进程完成所有合并,您可以让多个进程同时合并不同的块:

该算法使用并行合并算法,不仅可以并行化数组的递归除法,还可以并行化合并操作。当与快速稳定的顺序排序(如插入排序)和快速顺序合并(作为合并小数组的基本情况)相结合时,它在实践中表现良好


下面是一个示例,它提供了有关合并算法的更多信息(以防万一)

坏消息-无法避免多个已排序文件的k合并。 好的是,您可以并行地执行一些操作