最快的方式来排序非常大的文件,最好是进步

时间:2018-06-01 04:51:15

标签: multithreading sorting open-source large-data large-files

我有一个200GB的平面文件(每行一个字),我想对文件进行排序,然后删除重复项并从中创建一个干净的最终TXT文件。

我用sort尝试了--parallel,但它运行了3天,我感到很沮丧并且因为我没有看到它在/ tmp中创建的文件块有任何变化而导致进程被终止。

我需要以某种方式看到进展并确保它不会卡住并且正常工作。这是最好的方法吗?是否有任何Linux工具或开源项目专门用于这样的事情?

1 个答案:

答案 0 :(得分:0)

我不使用Linux,但如果这是Gnu排序,您应该能够从另一个窗口看到它创建的临时文件以监控进度。并行功能仅在初始传递期间帮助排序并创建临时文件的初始列表。之后,默认为16向合并。

比如说第一遍是创建大小为1GB的临时文件。在这种情况下,Gnu sort将在开始合并阶段之前最终创建200个这样的1GB临时文件。 16路合并意味着将一次合并其中16个临时文件,创建大小为16GB的临时文件,依此类推。

因此,监控进度的一种方法是监控这些临时文件的创建。