大数据特点--4V:
Volume-数据量、计算量
Variety-数据来源、数据格式
Velocity-增长速度、处理速度
Value-价值密度低、综合价值大
一、概述
Apache Hadoop 软件库是一个框架,允许在集群服务器上使用简单的编程模型对大数据集进行分布式处理(主要是分布式存贮和分布式计算)。Hadoop 被设计成能够从单台服务器扩展到数以千计的服务器,每台服务器都有本地的计算和存储资源。Hadoop 的高可用性并不依赖硬件,其代码库自身就能在应用层侦测并处理硬件故障,因此能基于服务器集群提供高可用性的服务。
二、Hadoop生态系统
经过多年的发展形成了Hadoop生态系统,其结构如下图所示:
1.HDFS--Hadoop 生态圈的基本组成部分是 Hadoop 分布式文件系统(HDFS)。HDFS 是一种分布式文件系统,数据被保存在计算机集群上,HDFS 为 HBase 等工具提供了基础。
2.MapReduce--Hadoop 的主要执行框架是 MapReduce,它是一个分布式、并行处理的编程模型,MapReduce 把任务分为 map(映射)阶段和 reduce(化简)。由于 MapReduce 工作原理的特性,Hadoop 能以并行的方式访问数据,从而实现快速访问数据。
3.Hbase--HBase 是一个建立在 HDFS 之上,面向列的 NoSQL 数据库,用于快速读/写大量数据,HBase 使用 Zookeeper 进行管理。
4.Pig--它是MapReduce编程的复杂性的抽象。Pig平台包括运行环境和用于分析Hadoop数据集的脚本语言(Pig Latin),其编译器将Pig Latin翻译成MapReduce程序序列。
5.Hive--Hive类似于SQL高级语言,用于运行存储在Hadoop上的查询语句,Hive让不熟悉MapReduce开发人员也能编写数据查询语句,然后这些语句被翻译为Hadoop上面的MapReduce任务。像Pig一样,Hive作为一个抽象层工具,吸引了很多熟悉SQL而不是Java编程的数据分析师。
6.Sqoop是一个连接工具,用于在关系数据库、数据仓库和Hadoop之间转移数据。Sqoop利用数据库技术描述架构,进行数据的导入/导出;利用MapReduce实现并行化运行和容错技术。
7.Flume提供了分布式、可靠、高效的服务,用于收集、汇总大数据,并将单台计算机的大量数据转移到HDFS。它基于一个简单而灵活的架构,并提供了数据流的流。它利用简单的可扩展的数据模型,将企业中多台计算机上的数据转移到Hadoop中。