大蟒蛇字典。存储、加载和写入

我有一个很大的 Python 值字典(大约 50 GB),并将其存储为 JSON 文件。在打开文件和写入文件时,我遇到了效率问题。我知道您可以使用 ijson 有效地读取文件,但是我如何有效地写入文件?

我什至应该使用 Python 字典来存储我的数据吗?python字典的大小有限制吗?(字典会变大)。

数据基本上存储了大图中节点之间的路径长度。我无法将数据存储为图形,因为搜索两个节点之间的连接花费的时间太长。

任何帮助将非常感激。谢谢!


白板的微信
浏览 232回答 3
3回答

九州编程

尽管这将真正取决于您要对网络数据集执行的操作,但您可能需要考虑将其存储为 Pandas 数据帧,然后使用 Parquet 或 Arrow 将其写入磁盘。然后可以将这些数据加载到 networkx 甚至 Spark (GraphX) 以进行任何与网络相关的操作。Parquet 是压缩的和柱状的,可以更快地读取和写入文件,尤其是对于大型数据集。来自熊猫文档:Apache Parquet 为数据帧提供分区的二进制列式序列化。它旨在提高读写数据帧的效率,并使跨数据分析语言的数据共享变得容易。Parquet 可以使用多种压缩技术来尽可能缩小文件大小,同时仍然保持良好的读取性能。Parquet 旨在忠实地序列化和反序列化 DataFrame ,支持所有 Pandas 数据类型,包括扩展数据类型,例如带有 tz 的 datetime。在此处进一步阅读:Pandas Parquet
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python