Hadoop介绍:
Hadoop是一个分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。
Hadoop主要子项目:
* Hadoop Common:
在0.20及以前的版本中,包含HDFS、MapReduce和其他项目公共内容,从0.21开始HDFS和MapReduce被分离为独立的子项目,其余内容为Hadoop
Common
* HDFS: Hadoop 分布式文件系统 (Distributed File System) - HDFS (Hadoop Distributed
File System)
* MapReduce:并行计算框架,0.20前使用 org.apache.hadoop.mapred
旧接口,0.20版本开始引入org.apache.hadoop.mapreduce的新API
* HBase: 类似Google BigTable的分布式NoSQL列数据库。(HBase 和 Avro 已经于2010年5月成为顶级 Apache
项目[1])
* Hive:数据仓库工具,由Facebook贡献。
* Zookeeper:分布式锁设施,提供类似Google Chubby的功能,由Facebook贡献。
* Avro:新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制。
Hive Hadoop中类似于数据仓库的应用,所有要用到的表可以存在Hive中,并且HQL语言类sql语言直接见表查询。
Hdfs是Hadoop中文件存储的格式。
Hbase Hadoop中一种表存储的方式,是以列式存储的方式存储一些大数据量的表。
Pig Hadoop的ETL平台工具,提供了简便的语言也是。
Sqoop 就是一个搬数的工具,从关系型数据库到Hdfs中,或者反过来。 也可以用Java接口直接实现搬数的过程。
ODI(12版本)加入Hive架构,使得搬数更简单了。 Sqoop速度好慢,增量也比较麻烦。
Maoreduce就是Hadoop核心算法,一个Map 一个Reduce函数。
Mahout 是Hadoop的一个数据挖掘应用,利用许多封装好的算法进行数据分析例如K-Means算法。