python - 在python中集成多个字典(大数据)

标签 python memory data-mining

我正在从事大数据挖掘的研究项目。我目前已经编写了代码来将我拥有的数据组织到字典中。然而,数据量如此之大,以至于在形成词典时,我的计算机耗尽了内存。我需要定期将字典写入主内存并以这种方式创建多个字典。然后,我需要比较生成的多个字典,相应地更新键和值,并将整个内容存储在磁盘上的一个大字典中。知道如何在 python 中做到这一点吗?我需要一个 api,它可以快速将字典写入磁盘,然后比较 2 个字典并更新 key 。我实际上可以编写代码来比较 2 个字典,这不是问题,但我需要在不耗尽内存的情况下执行此操作..

我的字典看起来像这样: "orange": ["这是一种水果","它很好吃",...]

最佳答案

同意霍夫曼的观点:选择关系数据库。对于关系引擎来说,数据处理是一项不寻常的任务,但相信,它是易于使用/部署和大型数据集速度之间的良好折衷。

我通常使用 sqlite3,它是 Python 附带的,尽管我更经常通过 apsw 使用它。 。像 sqlite3 这样的关系引擎的优点是,您可以指示它通过连接和更新对数据进行大量处理,并且它将以相当合理的方式处理所需的所有数据内存/磁盘交换。您还可以使用内存数据库来保存需要与大数据交互的小数据,并通过“ATTACH”语句将它们链接起来。我已经用这种方式处理了千兆字节。

关于python - 在python中集成多个字典(大数据),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11406085/

相关文章:

python - 使用 Scrapy 获取 CSS 样式表上的背景图片

python - 类方法对象如何工作?

python - 计算 Gamma(x+1/2)/Gamma(x)

python - 在 for 循环中分离打印

python - Kmeans 不知道簇的数量?

nlp - 潜在狄利克雷分配与文档聚类之间的关系

c - 我是否以错误的方式使用了 realloc?

c - 访问指针 C 指向的值

r - 意外的 R 内存管理行为

拨浪鼓R包: difference between risk and weight variable role?