Hadoop

一.Hadoop发展史

1.Hadoop是ApacheLucene创始人Doug Cutting创建的,Lucene是一个广泛使用的文本搜索系统库(一个可以运行的网页爬取工具和搜索引擎系统)。Hadoop起源于Apache Nutch,一个开源的网络搜索引擎,它本身也是Lucene项目的一部分。

二.Hadoop是开源系统,它实现了MapReduce编程模型。

MapReduce编程模型有三方面的优势:

1.      MapReduce所采用的是无共享大规模集群系统。集群系统具有良好的性价比和可伸缩性,这一优势伟MapReduce成为大规模海量数据平台的首选。

2.      MapReduce模型简单,易于理解,易于使用。很多机器学习和数据挖掘算法,都可以使用MapReduce.

3.      通过使用合适的查询优化和索引技术,MapReduce仍然能够提供相当好的数据处理性能。

注:MapReduce是一个批量查询处理器,并且它能够在合理的时间范围内处理针对整个数据集的即时(ad  hoc)查询。

三.磁盘的发展趋势:

1.      寻址时间的提高远远慢于传输速率的提高。

2.      寻址是将磁头移动到特定磁盘位置进行读写操作的过程。它是导致磁盘操作延迟的主要原因,而传输速率取决于磁盘的带宽。

四.MapReduce视为关系型数据库管理系统的补充

1.RDBMS适用于”点查询”(point query)和更新,数据集被索引后,数据库系统能够提供低延迟的数据检索和快速的少量数据更新。

2.MapReduce适合一次写入,多次读取数据的应用,而关系数据库更适合持续更新的数据集。

 

注:MapReduce是一种线性可伸缩的编程模型。程序员编写两个函数,分别为map函数和reduce函数——每个函数定义一个键/值对集合到另一个键/值对集合的映射。

五.Hadoop项目简述

 1.Common,一组分布式文件系统和通用I/O的组件与接口(系列化,javaRPC和持久化数据结构)

2.Avro,一种支持高效,跨语言的RPC以及永久存储数据的系列化系统。

3.MapReduce,分布式数据处理模型和执行环境,运行于大型商用机集群。

4.HDFS,分布式文件系统,运行于大型商用机集群。

5.Pig,一种数据流语言和运行环境,用以检索非常大的数据集。Pig运行在MapReduce和HDFS的集群上。

6.Hive,一个分布式,按列存储的数据仓库。Hive管理HDFS中存储的数据,并提供基于SQL的查询语言(由运行时引擎翻译成MapReduce作业)用以查询数据。

7.HBase,一个分布式,按列存储数据库。HBase使用HDFS作为底层存储,同时支持MapReduce的批量式计算和点查询(随即读取)

8.Zookeeper,一个分布式,可用性高的协调服务。Zookeeper提供分布式锁之类的基本服务用于构建分布式应用。

9.Sqoop,在数据库和HDFS之间高效传输数据的工具。

你可能感兴趣的:(mapreduce,hadoop,数据库,集群,Lucene,分布式应用)