【发布时间】:2019-06-17 14:39:08
【问题描述】:
谢谢你听我说完。
我有一个数据集,它是一个形状为75000x10000 的矩阵,其中填充了浮点值。把它想象成热图/相关矩阵。我想将它存储在 SQLite 数据库中(SQLite,因为我正在修改现有的 Django 项目)。源数据文件大小为 8 GB,我正在尝试使用 python 来执行我的任务。
我尝试使用 pandas 分块 将文件读入 python 并将其转换为未堆叠的成对索引数据并将其写入 json 文件。但是这种方法正在消耗我的计算成本。对于100x10000 大小的块,它会生成一个 200 MB 的 json 文件。
这个 json 文件将用作在 Django 后端形成 SQLite 数据库的夹具。
有没有更好的方法来做到这一点?更快/更智能的方式。 我不认为花一整天时间写出一个 90 GB 的奇数 json 文件是要走的路。甚至不确定 Django 数据库是否可以承受这种负载。
感谢任何帮助!
【问题讨论】:
-
您可能想使用 spark 探索 hdf5 或 parquet。 medium.com/@ph_singer/…
-
75,000 X 10,000 是要推送的很多数据。期望您与
pandas一起使用的任何解决方案都有一些等待时间。你能对文件做任何总结吗?分组类别,聚合值?另外-您的数据由什么组成。我们可以使用sparse matrix之类的东西是不是很多零? -
数据集不是稀疏的。我的目的不是总结数据。我想最终将矩阵从源文件移动到 Django SQLite 数据库。中间人的工作是这里的巨大障碍。
-
你打算如何在 sqlite 数据库中拥有这个矩阵?什么样的表布局?
-
我想将我的大矩阵数据集插入到 sqlite django DB 中。矩阵可以分解为 [index |专栏 | value] 数据库需要格式为 {'model':'xxx','pk': int, 'fields': {'feat1':index , 'feat2':column, 'value':value}} 创建后者是什么造成了问题
标签: python sql django pandas bigdata