现在Apache Hadoop已成为大数据行业发展背后的驱动力。Hive和Pig等技术也常常被提到,可是他们都有什么功能,为何会须要奇怪的名字(如Oozie,ZooKeeper、Flume)。 算法
Hadoop带来了廉价的处理大数据(大数据的数据容量一般是10-100GB或更多,同时数据种类多种多样,包括结构化、非结构化等)的能力。但这与以前有什么不一样? 数据库
现 今企业数据仓库和关系型数据库擅长处理结构化数据,而且能够存储大量的数据。但成本上有些昂贵。这种对数据的要求限制了可处理的数据种类,同时这种惯性所 带的缺点还影响到数据仓库在面对海量异构数据时对于敏捷的探索。这一般意味着有价值的数据源在组织内从未被挖掘。这就是Hadoop与传统数据处理方式最 大的不一样。 编程
本文将介绍Hadoop系统的组成部分,并解释各个组成部分的功能。 架构
Hadoop生态环境包含十多种组件或子项目,但在安装、配置和集群规模的部署以及管理等方面都面临不小的挑战。 框架
Hadoop主要组件包含:Hadoop:Java编写的软件框架,以支持数据密集型分布式应用 机器学习
ZooKeeper:高可靠性分布式协调系统 分布式
MapReduce:针对大数据的灵活的并行数据处理框架 工具
HDFS:Hadoop分布式文件系统 oop
Oozie:负责MapReduce做业调度 学习
HBase:Key-value数据库
Hive:构建在MapRudece之上的数据仓库软件包
Pig:Pig是架构在Hadoop之上的高级数据处理层。Pig Latin语言为编程人员提供了更直观的定制数据流的方法。
一般状况下,Hadoop应用于分布式环境。就像以前Linux的情况同样,厂商集成和测试Apache Hadoop生态系统的组件,并添加本身的工具和管理功能。