Hadoop简介
经过多年的发展形成了 Hadoop1.X 生态系统,其结构如下图所示:
HDFS:Hadoop 生态圈的基本组成部分是 Hadoop 分布式文件系统(HDFS)。HDFS 是一种分布式文件系统,数据被保存在计算机集群上,HDFS 为 HBase 等工具提供了基础。
MapReduce:Hadoop 的主要执行框架是 MapReduce,它是一个分布式、并行处理的编程模型,MapReduce 把任务分为 map(映射)阶段和 reduce(化简)阶段。由于 MapReduce 工作原理的特性,Hadoop 能以并行的方式访问数据,从而实现快速访问数据。
Hbase:HBase 是一个建立在 HDFS 之上,面向列的 NoSQL 数据库,用于快速读 / 写大量数据,HBase 使用 Zookeeper 进行管理。
Zookeeper:用于 Hadoop 的分布式协调服务。Hadoop 的许多组件依赖于 Zookeeper,它运行在计算机集群中,用于管理 Hadoop 集群。
Pig:它是 MapReduce 编程的复杂性的抽象。Pig 平台包括运行环境和用于分析 Hadoop 数据集的脚本语言 (Pig Latin),其编译器将 Pig Latin 翻译成 MapReduce 程序序列。
Hive:类似于 SQL 高级语言,用于运行存储在 Hadoop 上的查询语句,Hive 让不熟悉 MapReduce 的开发人员也能编写数据查询语句,然后这些语句被翻译为 Hadoop 上面的 MapReduce 任务。像 Pig 一样,Hive 作为一个抽象层工具,吸引了很多熟悉 SQL 而不是 Java 编程的数据分析师。
Sqoop:一个连接工具,用于在关系数据库、数据仓库和 Hadoop 之间转移数据。Sqoop 利用数据库技术描述架构,进行数据的导入 / 导出;利用 MapReduce 实现并行化运行和容错技术。
Flume:提供了分布式、可靠、高效的服务,用于收集、汇总大数据,并将单台计算机的大量数据转移到 HDFS。它基于一个简单而灵活的架构,利用简单的可扩展的数据模型,将企业中多台计算机上的数据转移到 Hadoop 中。