48K csv文件,每行1000行。如何重新设计数据存储?

时间:2017-02-22 14:41:36

标签: sql r hdf5 bigdata

这个问题被搁置了,因为它太笼统了。我正在修改更具体。

我帮助的其中一个人决定将模拟练习扩大到很大比例。通常我们做的事情将有100个条件,每个条件1000次运行,结果可以轻松地#34;适合单个文件或数据框。我们使用SAS,R或Mplus来做这种事情。这个是在R. 当我听说项目因缺乏记忆而失败时,我应该看到麻烦。我们看到,有时使用贝叶斯模型,将内存链中的所有结果保持得过于苛刻。这些情况下的修复方法是将批量迭代保存在单独的文件中。在没有注意细节的情况下,我建议他们在模拟过程中在磁盘上写下较小的文件。

后来,我意识到我的错误程度。他们生成了48,000个输出CSV文件,每个文件有1000行和大约80列实数。这些都是用CSV文件写出来的,因为研究人员对他们可以看到的数据感到满意。再次,当他们问我如何分析时,我没有注意。我在想小数据,并告诉他们使用shell脚本堆叠csv文件。结果是40 + GB csv文件。 R不希望在我们这里的电脑上打开它。

我相信/希望分析永远不需要在一个回归模型中使用所有40GB的数据:)我希望他们更有可能想要总结更小的细分。通常的练习有3到5列模拟参数,然后是10列分析结果。在这个项目中,结果更加庞大,因为它们有10列参数,所有混合和匹配组合使项目扩展。

我认为最好的计划是将数据存储在"数据库"喜欢结构。我希望你告诉我采取哪种方法。

  1. Mysql的?不再开放,我不太热情。

  2. 的PostgreSQL?似乎越来越受欢迎,之前没有管理过服务器。

  3. SQLITE3?这里的一些管理员为我们提供了以这种格式进行分析的数据,但我们从未收到任何大于1.5GB的数据。

  4. HDF5(也许是netCDF?)过去(比如说2005年)这些专业的科学风格容器数据库类格式会很好用。但是,自从我开始帮助社会科学学生以来,我没有听说过这些。当R开始时,我们正在使用HDF5,我的一个朋友写了原始的R代码来与HDF5进行交互。

  5. 我的首要任务是快速数据检索。我想如果其中一位技术人员可以学习检索一个矩形块,我们可以向研究人员展示如何做同样的事情。

0 个答案:

没有答案