在我最近在谷歌实习期间了解了MapReduce解决计算机视觉问题后,我感觉自己像个开明的人.我一直在使用R进行文本挖掘.我想使用R进行大规模文本处理和主题建模实验.我开始阅读教程并研究其中的一些.我现在将理解每个工具:
1)R文本挖掘工具箱:用于本地(客户端)文本处理,它使用XML库
2)Hive:Hadoop interative,提供调用map / reduce的框架,并提供DFS接口,用于在DFS上存储文件.
3)RHIPE:R Hadoop集成环境
4)带有R的弹性MapReduce:一个MapReduce框架,适用于那些没有自己的集群的人
5)使用R进行分布式文本挖掘:尝试从R-tm到R-distributed-tm进行本地到服务器端处理的无缝移动
关于上述包,我有以下问题和疑惑
1)Hive和RHIPE以及分布式文本挖掘工具箱需要您拥有自己的集群.对?
2)如果我只有一台计算机,那么在HIVE的情况下DFS如何工作
3)我们是否面临上述包装重复劳动的问题?
我希望在接下来的几天内能够对上述问题有所了解
最佳答案 (1)好的Hive和Rhipe不需要集群,你可以在单节点集群上运行它们.
RHipe基本上是一个框架(在R语言包中),它集成了R和Hadoop,你可以在Hadoop上利用R的强大功能.对于使用Rhipe,您不需要拥有群集,您可以以任何方式运行,即在群集模式或伪模式下运行.即使您拥有超过2个节点的Hadoop集群,您仍然可以通过指定属性mapered.job.tracker =’local’在本地模式下使用Rhipe.
您可以访问我的网站(搜索)“Bangalore R用户组”,你可以看到我是如何尝试使用Rhipe解决问题的,我希望你能得到一个公平的想法
(2)Hive表示你的意思是指R中的蜂巢包?因为这个包有点误导Hive(hadoop数据仓库).
R中的蜂巢包类似于Rhipe只有一些额外的功能(我没有完全通过).当我看到我认为他们已经将R与Hive集成时的蜂巢包,但在看到功能后它不像dat.
好的Hadoop数据仓库是HIVE,基本上如果你对某些结果子集感兴趣,这些结果应该通过数据子集运行,你通常使用SQL查询. HIVE中的查询也与SQL查询非常相似.
给你一个非常简单的例子:假设你拥有过去10年不同股票的1TB股票数据.现在你要做的第一件事就是,你将存储在HDFS上,然后在它上面创建一个HIVE表.多数民众赞成……现在解雇你想要的任何问题.您也可能想要进行一些复杂的计算,例如找到简单的移动平均值(SMA),在这种情况下,您可以编写UDF(用户定义的函数).除此之外,您还可以使用UDTF(用户定义的表生成函数)
(3)如果你有一个系统意味着你在伪模式下运行Hadoop.此外,您不必担心Hadoop是在伪模式还是群集模式下运行,因为Hive只需要安装在NameNode上,而不是数据节点上.完成正确的配置后,hive将负责在集群上提交作业.
与Hive不同,您需要在包括NameNode在内的所有数据节点上安装R和Rhipe.但是在任何时候,如果你只想在NameNode中运行这个工作,你可以像我上面提到的那样做.
(4)Rhipe仅用于批量作业,这意味着MR作业将在整个数据集上运行,而Hive则可以在数据子集上运行.
(5)我想了解你在文本挖掘中到底做了什么,你是不是想尝试使用HMM(隐马尔可夫模型),CRF(条件随机场),特征向量或SVM等名称实体识别做一些NLP之王(支持向量机).
或者您只是想简单地尝试文档聚类,索引等
那么有像tm,openNLP,HMM,SVM等包