Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。
hadoop是apache的子项目,不过它下面又有很多子项目,简单的说就是用大量的廉价机器组成的集群去执行大规模运算,主要是海量数据的处理。常用的就是hdfs(分布式存储)、MapReduce(分布式计算)、HBase(Nosql数据库)hdfs:分块存储文件(默认是64M),并且每个块默认有3个备份。MapReduce:简单来说就是分治的思想,对不同的数据块执行各自的map输出key-value,再在reduce阶段将结果做合并(中间会有sort,partition,merge等阶段)hadoop目前在各互联网公司的应用非常广泛
==========hive=====================
hive一般指hive(数据仓库工具)。
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce(分布式计算)任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
==============HBase=======================
HBase是一个分布式的、面向列的开源数据库,该技术来源于Chang et al所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。