2010-07-19 154 views
8

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

回答

17

我找到一所大学的网站与MapReduce的一些练习和解决方案,只有建立在Hadoop:

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

对于雅虎+1。身份证采取简单的雅虎教程,并展开他们。使输入文件更大,更改地图/缩小功能,从单一实例转到小型群集,并不断扩展您以前完成的任务。 – 2010-07-20 07:08:16

2

我也推荐umd网站。但是看起来您对Hadoop完全陌生。我会推荐Tom White编写的“Hadoop:定义指南”一书。它有点过时了[意味着0.18版本,而不是最新的0.20+)。阅读它,做例子,你应该在更好的地方判断如何构建你的项目。

3

从初学者级别的普通mapreduce开始。您可以尝试下一级的Pig/Hive/Hbase。

您将无法欣赏猪/蜂巢/ HBase的,除非你努力不够使用纯映射精简

+0

+1。它无疑是值得的痛苦。 – sholsapp 2010-08-18 23:00:18

1

你也可以使用亨利马乌http://mahout.apache.org/

它是一种机器学习和数据挖掘库可以在Hadoop之上使用。

一般而言亨利马乌目前支持(来自亨利马乌站点获得):

  • 协同过滤
  • 基于用户和项目推荐者
  • K均值,模糊K均值聚类
  • 均值漂移聚类
  • Dirichlet进程集群
  • 潜在Dirichlet分配
  • 基于
  • 奇异值分解
  • 并行频繁模式挖掘
  • 互补朴素贝叶斯分类
  • 随机森林决策树分类
1

Hadoop是分布式/并行数据处理的工具。 Mahout是一个数据挖掘/机器学习框架,可以在独立模式下工作,也可以在Hadoop分发环境中工作。将其作为独立或Hadoop使用的决定归结为需要挖掘的历史数据的大小。如果数据大小的数量级别是千兆字节和千兆字节,则通常使用Mahout和Hadoop。

Mahout支持3机器学习算法,推荐,聚类和分类。 Mahout在行动 manning的书做了很好的解释。 Weka是另一个类似的开源项目。所有这些都归类为机器学习框架。

请参阅关于如何使用案例的博客Mahout and Hadoop distributed file system works?作为这方面的先驱,还有一个关于如何将这些工具结合在一起用于Hadoop/Mahout生态系统中的数据挖掘问题的博客。

我希望它有帮助。

2

我正在尝试使用hadoop来练习一些数据挖掘算法。

使用运行在Hadoop之上的Apache mahout。 [http://mahout.apache.org/][1]

我可以单独使用HDFS吗?还是我需要使用像hive/hbase/pig这样的子项目?

HDFS是hadoop的文件系统。它代表Hadoop分布式文件系统。无论您将在Hadoop堆栈中使用哪种工具,他们都应该处理分布式环境中的数据。所以,你只能用HDFS做任何事情。你需要任何像Map Reduce,Pig,Hive等计算技术/工具。

希望这有助于!

0

您必须根据自己的优势在Hadoop生态系统中使用不同的工具。

HiveHbase都好处理结构化数据

Sqoop用于从传统的RDBMS数据库Oracle,SQL服务器等

Flume用于处理取消结构化数据导入结构化数据。

您可以使用内容管理系统处理非结构化数据&半结构化数据 - Tera或Peta字节的数据。如果你存储的未结构化的数据,我更喜欢存储在CMS中的数据和NoSQL的使用元数据信息数据库像HBASE(例如Image Id , MD5SUM of image

要处理大数据流,你可以使用Pig

Spark是一款快速且通用的Hadoop数据计算引擎。星火提供了支持广泛的应用,包括ETL,机器学习,流处理和图形计算的简单和表现力的编程模型

看一看Structured DataUn-Structured data Hadoop中

处理看一看完成hadoop ecosystem和这个SE question

1

您可以一起使用R,Spark Hadoop作为完整的开源解决方案。

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

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

  3. Hadoop-基于商品硬件的可扩展且健壮的数据存储。

0

取决于您的应用程序。您需要了解配置单元,猪,hbase的用途,然后您可以确定它们在应用程序中的位置。这些创建了一个具体的原因,你需要了解简单的谷歌会得到结果

0

HDFS是一个分布式存储系统转储您的数据进一步分析。

Hive/Pig/MR/Spark/Scala等....是分析数据的工具。你实际上在你的算法中写下你的算法。只有Pig/Hive/Hbase才能达到100%。您应该知道如何编写Map Reduce算法并需要将这些算法导入到Hive/Pig中。

ETL工具: 猪(脚本语言) 蜂巢(SQL像结构化数据查询语言) HBASE非结构化数据的可以实现实时数据实证分析。在MapReduce逐步运行的同时,Spark一举操作了整个数据集的 。 Sqoop:从RDDMS 水槽导入/导出数据:导入流数据到Hadoop的 亨利马乌:机器学习algorith工具

的Hadoop权威指南是好的开始,适合初学者。