r - 存储 R 生成的大型结果的理想格式是什么?

标签 r bigdata mclapply

我通过大量参数组合 (20-40k) 模拟合理大小的数据集 (10-20mb)。每个数据集 x 参数集通过 mclapply 推送,结果是一个 list,其中每个项目包含输出数据(作为列表项目 1)和用于生成该结果的参数作为列表第 2 项(其中该列表的每个元素都是一个参数)。

我刚刚运行了一个 81K 的列表(但必须以 30k 的 block 运行它们),结果列表每个大约 700 MB。我已将它们存储为 .rdata 文件,但可能会将它们重新保存为 .Rda。但是每个文件都需要很长时间才能读入 R。这里有最佳实践吗,尤其是对于长期存储?

理想情况下,我会把所有东西都放在一个列表中,但是 mclapply 会抛出一个关于无法序列化向量的错误,而且这么大的工作将永远在集群上进行(分为 3 种方式,它需要 3小时/工作)。但是有多个结果文件 results1a.rdataresults2b.rdataresults3c.rdata 似乎也很低效。

最佳答案

听起来您有几个不同的问题——我建议您在一个单独的问题中询问有关优化您的列表格式的问题。

然而,关于将 R 数据读取/写入磁盘,我不确定在效率方面是否有比 Rda 文件更好的方法。 但是,我发现压缩级别会对读取/写入这些文件所需的时间产生实际影响,具体取决于计算设置。我通常发现不使用压缩可获得最佳性能 (save(x,file="y.Rda", compress=FALSE))。

作为备份计划,您可以尝试保持压缩,但也可以改变压缩级别。

关于r - 存储 R 生成的大型结果的理想格式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11042603/

相关文章:

apache - 在基于Hadoop的大数据上有一些好的研究生水平的类项目想法是什么?

hadoop - 如何在 Windows 机器上配置 HDFS CLI?

r - 在 R 中组合列表

r - Julia pmap 性能

r - 放大 R 表达式中的单个符号 (/)

regex - 在 R 语料库中搜索以 "esque"结尾的所有单词

r - 创建一个热图,其中的数据具有NaN值

hadoop - 关于动态分区表插入而不在Hive中创建临时/临时表的问题

r - 有没有办法跟踪 mclapply 的进度?

r - 日期时间对象到分钟 : I need 3 packages