Hadoop和R入门

时间:2012-11-08 17:57:28

标签: r mongodb hadoop

我正在尝试了解“大数据”,并认为开始的唯一方法是直接进入。值得注意的是,我将使用我家里的一台机器。对于上下文,我有大约700个文本文件,总共约300GB的数据。每个文件都包含上个月从Twitter的消防站捕获的JSON响应。

我喜欢R并最终用它来研究我的数据集,但我知道我需要一种“存储”数据的方法。我听说过很多关于Hadoop和HDFS的内容,但是我无法理解它。我是否只需将文本文件“复制”到本地计算机上的HDFS,并使用RHadoop编写Map / Reduce语句来创建数据集?

最后,我启动并运行了MongoDB,并考虑在那里存储数据,但我不确定我是否会获得分析性能提升,尽管我知道Haddop有一个适配器。

我的问题:成功捕获数据后,存储此数据的最佳方法是什么,以便我可以使用R(和其他工具)来分析数据。

2 个答案:

答案 0 :(得分:1)

你绝对不应该使用MongoDB。它不是为批量分析而设计的,并且不会为此目的而执行。

您只想将文件复制到HDFS并使用RHadoop是一个很好的想法,但只使用一台机器并不是理想的情况。它肯定会很好地利用你的一台机器所拥有的多个内核,它可以很好地处理所有内容而不会溢出内存,但它可能不是这项工作的理想工具。

我不太了解那里的R库,但我猜可能有更好的处理大型数据集,但不是那么大,需要多台机器。地狱,即使只是将数据放在更传统的分析数据库中也可能更好。

答案 1 :(得分:1)

如果您不想批量处理并在推文上进行实时查询,那么像MongoDB这样的非关系型数据库非常适合您的需求。因此,对于实时查询,请查看MongoDB的聚合框架。

所以归结为:你真正想要做的数据是什么?查找地点周围的推文并显示平均追随者数量?还是长期趋势分析?

这是一篇ruby / mongodb帖子,有人抓了300万条推文:how-i-scraped-and-stored-over-3-million-tweets