这篇文章不提原理,讲讲hadoop及其周边项目的作用。
hadoop这个词已经流行好多年了,一提到大数据就会想到hadoop,那么hadoop的作用是什么呢?
官方定义:hadoop是一个开发和执行处理大规模数据的软件平台。核心词语是平台,也就是说我们有大量的数据,又有好几个电脑,我们知道应该把处理数据的任务分解到各个电脑上,可是不知道如何分配任务,如何回收结果,hadoop大概就帮助我们做了这件事。
1HDFS
我们首先应该考虑的是海量数据怎么保存,怎么管理。这就有了分布式文件系统,HDFS。
2Map-Reduce
数据保存后,我们如何处理这些数据呢,假设我处理的方法复杂,而不不过排序,查找这种操作怎么办?须要有一个可以提供编写代码的地方,让我们自己写出操作,它内部再进行分解,分配,回收数据等等。
3Hive
能编代码是好的,但编代码太麻烦,并且数据库人员是熟悉SQL语句的,能用SQL语句处理,就不用Map-Reduce了吧,所以出现了Hive。并且大数据不管怎样是离不开数据库,离不开表,Hive就能讲数据映射成数据表,然后再操作就方便了,它的缺点是速度较慢。
4HBase
既然Hive的速度较慢,那么有没有较快的数据库呢?HBase就是,他为查询而生的,查询的速度非常快。
5Sqoop
曾经不是有非常多有名的数据库像MySQL,Oracle,我数据都是存在这里面的,怎么导入到HDFS中呢?Sqoop提供了关系型数据库和HDFS之间的相互转换。
6Flume
在这么多电脑上工作,假设当中一台有点问题,或者上面哪个服务有点问题,如何知道哪坏了呢?Flume提供了一个高可靠的日志採集系统。
7Mahout
处理大数据非常多是用来进行数据挖掘,有那几种常见的机器学习算法,既然算法都固定了并且就那几种,那就开发个叫Mahout的东西实现各种算法,开发者就能更快捷的使用。
8Zookeeper
ZooKeeper的目标是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。说白了就是动物园管理员,他是用来来管大象(Hadoop) 、 蜜蜂(Hive)的。
以上是Hadoop家族的主要成员,还有几个不经常使用的就不用介绍了,知道这些成员的作用后,对Hadoop总体能干什么就有了初步的认识,剩下的就是慢慢学习各个部分的原理和用法了。