我正在努力学习“大数据”,我想唯一的开始方法就是一头扎进去。值得注意的是,我将使用家里的一台机器。对于上下文,我有大约700个文本文件,总共大约300GB的数据。每个文件都包含上个月从Twitter的firehouse捕获的JSON响应。
我喜欢R,并最终使用它来研究我的数据集,但我知道我需要一种方法来“存储”数据。我听说过很多关于Hadoop和HDFS的事情,但我就是想不通。我是否可以简单地将文本文件“复制”到本地计算机上的HDFS中,并使用RHadoop编写Map/Reduce语句来创建数据集?
最后,我已经启动并运行了MongoDB,并正在考虑将数据存储在那里,但我不确定我是否会获得分析性能收益,尽管我知道有一个适用于Haddop的适配器。
我的问题:成功捕获数据后,存储数据的最佳方式是什么,这样我就可以使用R(和其他工具)来分析数据。
发布于 2012-11-27 00:35:27
如果您不想进行大量的批处理和对tweet进行实时查询,那么像MongoDB这样的非关系型数据库将非常适合您的需求。因此,对于实时查询,可以看看MongoDB的聚合框架。
所以归根结底就是:你真正想要对数据做什么?找到推文周围的地方,并显示平均追随者计数?还是长期趋势分析?
这是一篇ruby/mongodb的帖子,有人是如何抓取300万条推文的:how-i-scraped-and-stored-over-3-million-tweets
发布于 2012-11-09 06:55:09
你绝对不应该使用MongoDB。它不是为批量分析而设计的,也不会为此目的而执行。
一般来说,简单地将文件复制到HDFS并使用RHadoop是一个很好的想法,但只使用一台机器并不是理想的情况。它肯定会很好地利用您的一台机器拥有的多个内核,并且可以很好地处理所有内容,而不会造成内存溢出,但它可能不是执行此任务的理想工具。
我对现有的R库了解不多,但我猜可能会有更好的R库来处理大型数据集,但不会大到需要多台机器。见鬼,即使只是把你的数据放在一个更传统的分析数据库中也可能更好。
https://stackoverflow.com/questions/13294924
复制相似问题