Python 当您需要存储重复项时,有哪些可行的策略可以检测大型json文件中的重复项?

Python 当您需要存储重复项时,有哪些可行的策略可以检测大型json文件中的重复项?,python,json,data-structures,Python,Json,Data Structures,我在json中存储了一组非常大的数据,这些数据太大,无法加载到内存中。json字段包含关于用户的数据和一些元数据——但是,肯定有一些重复项。我想通过这个文件,并策划它,合并在一个特定的方式重复 然而,我不确定这样做的最佳做法是什么。我曾想过使用布卢姆过滤器,但布卢姆过滤器不会让我知道什么是重复的,所以我不能准确地合并。有什么我可以读/看的关于这类事情的最佳实践是什么吗?一些行业标准是什么?所有这些都需要在python中完成。您可以通过哈希值将记录划分为适合内存的较小集合,删除每个集合中的重复项,

我在json中存储了一组非常大的数据,这些数据太大,无法加载到内存中。json字段包含关于用户的数据和一些元数据——但是,肯定有一些重复项。我想通过这个文件,并策划它,合并在一个特定的方式重复


然而,我不确定这样做的最佳做法是什么。我曾想过使用布卢姆过滤器,但布卢姆过滤器不会让我知道什么是重复的,所以我不能准确地合并。有什么我可以读/看的关于这类事情的最佳实践是什么吗?一些行业标准是什么?所有这些都需要在python中完成。

您可以通过哈希值将记录划分为适合内存的较小集合,删除每个集合中的重复项,然后将它们重新组装回一个文件。

如果跨集合存在重复项,该怎么办(比如说,集合1有元素A,集合3有元素A——让我们也假设不存在其他重复项,所以我们无法使集合1和集合3小到足以比较它们,因为我想我们需要更多的内存)“按散列值分区”是指散列方式使所有副本都具有相同的散列值,因此它们将放在同一集中。您知道我可以使用哪些好的资源吗?如何按散列值分区?如果我有20GB的数据…如何筛选所有数据?是否将散列集存储在不同的文件中,例如例如?比如,将其存储为json对象或其他什么?顺便说一句,我正在用python进行此操作。通常我对如何进行此操作有些困惑。您不需要哈希集结构。您只需打开(比如)128个不同的输出文件进行写入。然后,读取20GB的数据,对每个记录进行哈希,使用哈希的前7位选择输出文件,然后将记录写入该文件。最终将得到128个200MB的文件,而不是1个20GB的文件,然后可以独立处理每个文件。