3

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

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

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

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

4

2 回答 2

1

你绝对不应该使用 MongoDB。它不是为批量分析而设计的,也不会为此目的而发挥作用。

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

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

于 2012-11-08T22:55:09.000 回答
1

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

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

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

于 2012-11-26T16:35:26.830 回答