如何制作1亿条推文的R tm语料库?

时间:2013-05-05 19:53:59

标签: r hadoop amazon-ec2 hive tm

我想使用R的分布式计算tm包(称为tm.plugin.dc)创建一个包含1亿条推文的文本语料库。这些推文存储在我笔记本电脑上的一个大型MySQL表中。我的笔记本电脑很旧,所以我使用的是我在Amazon EC2上设置的Hadoop集群。

tm.plugin.dc documentation from CRAN表示目前仅支持DirSource。文档似乎表明DirSource每个文件只允许一个文档。我需要语料库将每条推文视为文档。我有1亿条推文 - 这是否意味着我需要在旧笔记本上制作1亿个文件?这似乎过分了。还有更好的方法吗?

到目前为止我尝试了什么:

  1. 将MySQL表的文件转储作为单个(大量).sql文件。将文件上传到S3。将文件从S3传输到群集。使用Cloudera的Sqoop工具将文件导入Hive。怎么办?我无法弄清楚如何让DirSource与Hive一起工作。

  2. 在我的笔记本电脑上发送每条推文的XML文件。但是怎么样?我的电脑很旧,无法做到这一点。 ...如果我能够超越它,那么我会:将所有1亿个XML文件上传到亚马逊S3中的文件夹。将S3文件夹复制到Hadoop集群。将DirSource指向文件夹。

3 个答案:

答案 0 :(得分:4)

使用标准的R' tm 包制作包含1亿条推文的大型HDFS文件然后进行处理会不会更容易也更合理?

这种方法在我看来更自然,因为HDFS是为大文件和分布式环境开发的,而R是很好的分析工具但没有并行性(或有限)。您的方法看起来像是使用工具来处理那些不是为......而开发的东西。

答案 1 :(得分:2)

我强烈建议您查看此网址http://www.quora.com/How-can-R-and-Hadoop-be-used-together。这将为您提供必要的见解。

答案 2 :(得分:2)

TM包基本上适用于术语和文档模型。它创建术语文档矩阵或文档术语矩阵。该矩阵包含文档中的术语(单词)及其频率等功能。由于您要对Twitter数据执行分析,您应该将每条推文作为文档,然后您可以创建TDM或DTM。并且可以执行各种分析,如查找关联,查找频率或聚类或计算TDF-IDF度量等。

您需要构建目录源语料库。所以你需要有一个基本目录,其中包含你的推文。

根据您使用的操作系统,如果Windows将创建.bat文件或简单的javascript或java代码来读取推文文件的MySQL行并将其作为本地文件系统上的目录FTP,我会怎么做? Hadoop Box。

一旦文件是FTP,我们就可以使用Hadoop Copy From Local Command将目录复制到HDFS。