gpt4 book ai didi

multithreading - 如何在 python 中处理大文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:06:23 24 4
gpt4 key购买 nike

我很好奇如何在 python 中处理大文件?

例如,我在硬盘驱动器上有大约 20Gb 的数据集(只是数字数组),我想对这个数组进行排序以获得 k 个最小值。因此数据集无法加载到内存(RAM)中。

我认为算法应该是:按n个 block 加载数据集,在 block 中找到k min,将k min存储在内存中并处理每个 block ,因此我们得到k * n个值,然后对它们进行排序以获得k min值。

但问题是如何存储数据集(什么格式?),从磁盘加载它的最快方法是什么(我必须为特定硬件选择什么大小的 block ?)也许可以通过使用多个线程来完成?

最佳答案

您需要外部排序。如果将所有内容加载到内存中并对其进行排序,则称为 internal sort。在数据库中,它使用外部排序来完成排序任务。

也许以下资源会对您有所帮助。

关于multithreading - 如何在 python 中处理大文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22964418/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com