我在 mysql 数据库中有一个表,其中包含 3.12 亿行和 10 个字段/列。我正在尝试使用库(“RMySQL”)将这些数据导入 R,但这会杀死我的桌面(配置 8 GB RAM 64 位 AMD 双核处理器运行 Linux Mint 15)是否有一种有效的方法可以将所有这些数据导入? 喜欢使用“ff”库等?
问问题
1167 次
1 回答
3
如果不使用一些“大数据”包,它将不适合您的 RAM。使用 100 万行和 10 列的矩阵快速演示:
> m <- matrix(runif(1e7), 1e6, 10)
> object.size(m) / 1024 / 1024
76.2941360473633 bytes
所以它需要大约 76 Mb 的 RAM。您的 3.12 亿行将类似于:
> object.size(m) / 1024 / 1024 * 312
23803.7704467773 bytes
所以大约 24 Gb 的 RAM。
您真的需要在 RAM 中保存所有这些数据量吗?为什么不在 MySQL 内部进行子集或聚合并将真正需要的传递给 R?试试dplyr。
于 2013-11-18T23:42:12.423 回答