共计 1680 个字符,预计需要花费 5 分钟才能阅读完成。
这篇文章不提原理,讲讲 Hadoop 及其周边项目的作用。
hadoop 这个词已经流行好多年了,一提到大数据就会想到 hadoop,那么 hadoop 的作用是什么呢?
官方定义:hadoop 是一个开发和运行处理大规模数据的软件平台。核心词语是平台,也就是说我们有大量的数据,又有好几个电脑,我们知道应该把处理数据的任务分解到各个电脑上,但是不知道怎样分配任务,怎样回收结果,hadoop 大概就帮助我们做了这件事。
1、HDFS
我们首先应该考虑的是海量数据怎么保存,怎么管理。这就有了分布式文件系统,HDFS。
2、Map-Reduce
数据保存后,我们怎样处理这些数据呢,如果我处理的方法复杂,而不仅仅是排序,查找这样的操作怎么办?需要有一个能够提供编写代码的地方,让我们自己写出操作,它内部再进行分解,分配,回收数据等等。
3、Hive
能编代码是好的,但编代码太麻烦,而且数据库人员是熟悉 SQL 语句的,能用 SQL 语句处理,就不用 Map-Reduce 了吧,所以出现了 Hive。而且大数据无论如何是离不开数据库,离不开表,Hive 就能讲数据映射成数据表,然后再操作就方便了,它的缺点是速度较慢。
4、HBase
既然 Hive 的速度较慢,那么有没有较快的数据库呢?HBase 就是,他为查询而生的,查询的速度很快。
5、Sqoop
以前不是有很多有名的数据库像 MySQL,Oracle,我数据都是存在这里面的,怎么导入到 HDFS 中呢?Sqoop 提供了关系型数据库和 HDFS 之间的相互转换。
6、Flume
在这么多电脑上工作,如果其中一台有点问题,或者上面哪个服务有点问题,怎样知道哪坏了呢?Flume 提供了一个高可靠的日志采集系统。
7、Mahout
处理大数据很多是用来进行数据挖掘,有那几种常见的机器学习算法,既然算法都固定了而且就那几种,那就开发个叫 Mahout 的东西实现各种算法,开发人员就能更快捷的使用。
8、Zookeeper
ZooKeeper 的目标是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。说白了就是动物园管理员,他是用来来管大象 (Hadoop)、蜜蜂(Hive) 的。
以上是 Hadoop 家族的主要成员,还有几个不常用的就不用介绍了,知道这些成员的作用后,对 Hadoop 整体能干什么就有了初步的认识,剩下的就是慢慢学习各个部分的原理和使用方法了。
————————————– 分割线 ————————————–
Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm
Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
Hadoop LZO 安装教程 http://www.linuxidc.com/Linux/2013-01/78397.htm
Hadoop 集群上使用 Lzo 压缩 http://www.linuxidc.com/Linux/2012-05/60554.htm
————————————– 分割线 ————————————–
更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13