如何判断R中的数据集何时过大?

Hea*_*ark 37 r logfile-analysis bigdata

我将在R中进行一些日志文件分析(除非我不能在R中执行),并且我理解我的数据需要适合RAM(除非我使用某种类型的修复,如关键字存储的接口,也许?).所以我想知道如何提前告诉我的数据将占用多少空间,以及我是否有足够的空间.我知道我有多少RAM(不是很大 - 在XP下3GB),而且我知道我的日志文件最终会有多少行和列,以及col条目应该是什么数据类型(这可能需要检查为它读).

如何将这一点整合到go/nogo决策中以便在R中进行分析?(据推测,R需要能够有一些RAM来进行操作,以及保存数据!)我的即时需求输出是一堆简单的汇总统计数据,频率,意外情况等,所以我可能会写一些解析器/制表器将为我提供短期需要的输出,但我也希望在下一步中使用许多不同的方法来处理这些数据,所以我正在研究使用R的可行性.

我已经在R中看到了很多有关R中大型数据集的有用建议,我已阅读并将重读,但现在我想更好地了解如何确定是否应该(a)去那里,(b)去但是我希望不得不做一些额外的事情让它变得易于管理,或者(c)在为时已晚之前逃跑并在其他语言/环境中做些事情(建议欢迎......!).谢谢!

Pau*_*tra 41

R是非常适合大数据集,或者使用出的现成的解决方案一样bigmemoryFF封装(尤其是read.csv.ffdf)或处理你的东西在使用自己的脚本块.在几乎所有情况下,一点点编程都可以处理大型数据集(>>内存,比如100 Gb).自己做这种编程需要一些时间来学习(我不知道你的水平),但让你真正灵活.如果这是你的一杯茶,或者你需要跑步取决于你想投入学习这些技能的时间.但是一旦拥有它们,它们将使您作为数据分析师的生活变得更加容易.

关于分析日志文件,我知道从使命召唤4(计算机多人游戏)生成的统计页面通过迭代地将日志文件解析到数据库中工作,然后从数据库中检索每个用户的统计数据.有关界面的示例,请参见此处.迭代(以块为单位)方法意味着日志文件大小(几乎)无限制.然而,获得良好的表现并非易事.

你可以在R中做很多事情,你可以用Python或Matlab,甚至是C++或Fortran.但只有当该工具对您想要的东西提供开箱即用的支持时,我才能看到该工具相对于R的明显优势.对于处理大数据,请参阅HPC任务视图.另请参阅min的早期答案,以便以块的形式读取非常大的文本文件.您可能感兴趣的其他相关链接:

关于选择R或其他一些工具,我会说它对Google来说是否足够好对我来说足够好了;).