目前大数据使用的系统是Hadoop,这是一个apache的开源项目。

 

Hadoop有三个核心部分,分别是HDFS、Mapreduce、YARN。HDFS实现存储,MapReduce实现分析处理,YARN实现资源的调度。

hadoop spark大数据巨量分析 hadoop能做大数据分析_HDFS

HDFS

Hadoop的基本组成部分,Hadoop 分布式文件系统(HDFS)。HDFS 是一种数据分布式保存机制,数据被保存在计算机集群上。数据写入一次,读取多次。HDFS为 HBase 等工具提供了基础。

MapReduce

Hadoop的主要执行框架是 MapReduce,它是一个分布式、并行处理的编程模型。MapReduce 把任务分为 map(映射)阶段和 reduce(化简)。开发人员使用存储在HDFS 中数据,编写 Hadoop 的 MapReduce 任务。由于 MapReduce工作原理的特性, Hadoop 能以并行的方式访问数据,从而实现快速访问数据。

YARN

YARN是Hadoop2.0新增的系统,负责集群的资源管理和调度,使得多种计算框架可以运行在一个集群中。

 

附上一个比较详细的Hadoop生态图,

hadoop spark大数据巨量分析 hadoop能做大数据分析_MapReduce_02

HBase

HBase是Hadoop DataBase的意思。是一个高可靠性、高性能、面向列、可伸缩、 实时读写的分布式数据库。

技术来源了Google的“bigtable”论文。

Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;

Google Bigtable利用MapReduce来处理BigTable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;

Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应;

Hive

Hive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop分布式文件系统中的数据;

可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能;

可以将SQL语句转换为MapReduce任务运行,通过自己的SQL查询分析需要的内容,使不熟悉mapreduce的用户可以很方便地利用SQL语言查询、汇总和分析数据。

Hive不适合用于联机(online)事务处理,也不提供实时查询功能。它最适合应用在基于大量不可变数据的批处理作业。

Zookeeper

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。ZooKeeper是以Fast Paxos算法为基础的。

Pig

Pig是类似于Hive功能,国内使用的不多。

Spark

Spark是等同于MapReduce的一个分析处理模块。其发展势头比较好,以后会逐渐的代替MapReduce。