如何存储可以在以后轻松进行子集化的大矩阵(数据帧)

时间:2017-11-14 11:40:15

标签: mysql database local-storage bigdata storage

我将在R中生成一个大矩阵(数据帧),其大小约为1300000 * 10000,大约50 GB。我想以适当的格式存储这个矩阵,所以稍后我可以将数据提供给Python或其他程序代码进行一些分析。当然我不能一次提供数据,所以我必须对矩阵进行子集并一点一点地提供它们。 但我不知道如何存储矩阵。我想到了两种方式,但我认为两种方式都不合适: (1)纯文本(包括csv或excel表),因为它很难进行子集化(例如,如果我只想要一些列和一些数据行) (2)数据库,我搜索过有关mysql和sqlite的信息,但似乎列数限制在sql数据库(1024)中。 所以我只想知道是否有任何好的策略来存储数据,这样我就可以按行/列索引或名称对数据进行子集化。

1 个答案:

答案 0 :(得分:0)

为您需要搜索/过滤的几个列中的每一列都有单独的列。然后将整个10K列放入一些方便客户端代码解析的数据格式。 JSON是一种常见的可能性。

因此该表将是1.3M行,也许是3列:id(auto_increment,主键),列搜索和JSON blob - 作为数据类型JSON或{{1} (取决于软件版本)许多数据值。

相关问题