我正在尝试使用hadoop练习一些数据挖掘算法。我可以单独使用HDFS,还是需要使用像hive / hbase / pig这样的子项目?
答案 0 :(得分:17)
我找到了一个大学网站,其中包含一些仅在Hadoop上构建的MapReduce练习和解决方案:
http://www.umiacs.umd.edu/~jimmylin/Cloud9/docs/index.html
另外还有雅虎和谷歌的课程:
http://developer.yahoo.com/hadoop/tutorial/
http://code.google.com/edu/parallel/index.html
所有这些课程都适用于简单的Hadoop,以回答您的问题。
答案 1 :(得分:3)
从初学者级别的普通mapreduce开始。您可以在下一级尝试Pig / Hive / Hbase。
除非你挣扎到使用普通地图缩小
,否则你将无法理解Pig / Hive / Hbase答案 2 :(得分:2)
我也会推荐umd网站。但是看起来你对Hadoop来说是全新的。我推荐Tom White的书“Hadoop:The Definant Guide”。它有点过时了[意味着0.18版本,而不是最新的0.20+)。阅读它,做示例,你应该在一个更好的地方来判断如何构建你的项目。
答案 3 :(得分:2)
我正在尝试使用hadoop练习一些数据挖掘算法。
使用在Hadoop之上运行的Apache mahout。 [http://mahout.apache.org/][1]
我可以单独使用HDFS,还是需要使用像hive / hbase / pig这样的子项目?
HDFS是hadoop的文件系统。它代表Hadoop分布式文件系统。无论您将在Hadoop堆栈中使用哪种工具,它们都应该处理分布式环境中的数据。所以,你只能用HDFS做任何事情。您需要任何计算技术/工具,如Map Reduce,Pig,Hive等。
希望这有帮助!
答案 4 :(得分:1)
您也可以使用Mahout http://mahout.apache.org/
它是一个机器学习和数据挖掘库,可以在Hadoop之上使用。
一般情况下,Mahout目前支持(取自Mahout网站):
答案 5 :(得分:1)
Hadoop是一种用于分布式/并行数据处理的工具。 Mahout是一个数据挖掘/机器学习框架,可以在独立模式和Hadoop分发环境中工作。将其作为独立或使用Hadoop的决定归结为需要挖掘的历史数据的大小。如果数据大小的数量级为太字节和数PB,则通常将Mahout与Hadoop一起使用。
Mahout支持3种机器学习算法,推荐,聚类和分类。 Mahout在行动由曼宁出版的书非常好地解释了这一点。 Weka是另一个类似的开源项目。所有这些都属于称为机器学习框架的类别。
请参阅讨论Mahout and Hadoop distributed file system works如何使用案例的博客?作为此的前身,还有一篇关于Component architecture的博客,其中介绍了这些工具如何适用于Hadoop / Mahout生态系统中的数据挖掘问题。
答案 6 :(得分:1)
您可以将R,Spark Hadoop一起用作完整的开源解决方案。
R-统计语言,它提供了许多开箱即用的库。
用于数据处理的Spark-框架比使用机器学习算法的MR更快。
Hadoop-基于商品硬件的可扩展且强大的数据存储。
答案 7 :(得分:0)
取决于您的申请。你需要了解蜂巢,猪,hbase的目的,然后你可以找出它们在你的应用程序中的确切位置。这些是创建一个特定的原因,你需要了解简单的谷歌将获得结果
答案 8 :(得分:0)
HDFS是一种分布式存储系统,用于转储数据以进行进一步分析。
Hive / Pig / MR / Spark / Scala等....是分析数据的工具。实际上,您可以在其中任何一个中编写算法。只有Pig / Hive / Hbase才能达到100%。你应该知道如何编写Map Reduce算法,并且需要将它们导入Hive / Pig。
ETL工具: 猪(脚本语言) Hive(SQl类似于结构化数据的查询语言) HBASE for Unstructured data您可以实现实时数据分析。虽然MapReduce按步骤运行,但Spark仍在运行 整体数据一举设定。 Sqoop:从RDDMS导入/导出数据 Flume:将流数据导入hadoop Mahout:机器学习算法
Hadoop权威指南非常适合初学者。