Hadoop初学者

时间:2010-07-19 00:18:14

标签: hadoop data-mining

我正在尝试使用hadoop练习一些数据挖掘算法。我可以单独使用HDFS,还是需要使用像hive / hbase / pig这样的子项目?

9 个答案:

答案 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网站):

  • 协作过滤
  • 基于用户和项目的推荐人
  • K-Means,模糊K均值聚类
  • Mean Shift群集
  • Dirichlet流程聚类
  • 潜在的Dirichlet分配
  • 奇异值分解
  • 并行频繁模式挖掘
  • 互补朴素贝叶斯分类器
  • 基于随机森林决策树的分类器

答案 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一起用作完整的开源解决方案。

  1. R-统计语言,它提供了许多开箱即用的库。

  2. 用于数据处理的Spark-框架比使用机器学习算法的MR更快。

  3. 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权威指南非常适合初学者。