比Get ["raggedmatrix.mx"]更快的巨大数据导入?

Rol*_*tig 10 wolfram-mathematica

任何人都可以建议从60个.mx文件列表中导入几个GB数字数据(以.mx格式),每个文件大约650 MByte?

- 太大而不能在这里发布 - 研究问题涉及简单的统计操作,其数据量是GB的两倍(大约34),而不是RAM(16).为了处理数据大小问题,我只是将事情拆分并使用Get/Clear策略进行数学计算.

它确实有效,但是调用Get["bigfile.mx"]需要相当长的时间,因此我想知道使用BLOB或者PostgreSQL或MySQL的任何内容,或者人们使用什么数据库来获取数字数据GB都会更快.

所以我的问题是:在Mathematica中处理真正大型数据集导入的最有效方法什么?

我还没有尝试过,但我认为DataBaseLink的SQLImport会慢于Get["bigfile.mx"].

谁有经验可以分享?

(对不起,如果这不是一个非常具体的编程问题,但它真的可以帮助我继续进行耗时的发现 - 找出最好的137种可能性 - 解决 - 一,问题的-数学).

小智 1

我认为两种最好的方法是:

1) 对 *.mx 文件使用 Get,

2) 或读取该数据并将其保存为某种二进制格式,您可以为其编写 LibraryLink 代码,然后通过该代码读取内容。当然,这样做的缺点是您需要转换 MX 内容。但也许这是一个选择。

一般来说,获取 MX 文件相当快。

确定这不是交换问题吗?

编辑1:然后您还可以使用写入导入转换器:tutorial/DevelopingAnImportConverter