总结Hadoop框架
零零整整接触了很久Hadoop框架以及它的生态圈,在此做一个总结。
1.首先来认识下Hadoop:
Hadoop是一个由Apache基金会所开发的分布式系统的基础架构。它实现了一个分布式文件系统(Hadoop Distributed File System ==> HDFS)。
HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
hadoop的核心总共有两个:HDFS(为海量数据提供储存)、MapReduce(为海量数据提供了计算)
2.Hadoop的牛逼之处:
这里我总结为两点:
1:能对超大数据进行分布式处理
2:处理起数据高效(并行方式)、可靠(自行设置副本数量)、高伸缩(甚至可以出理PB级别的数据)。
1. 文件的存储:HDFS
关键之处:大量数据横跨成千上万个服务器进行存储!
简单举例:你获取到的某一绝对路径下的数据,看起来是一个路径,但可能这个数据存储在n多个不同的机器上。至于往哪存、存在多少个地方,这就是HDFS的作用。
2. 数据的处理:MapReduce
关键之处:提供了高效的、可靠的、能在集群间运行的计算模型!
3.资源的调度:Yarn
基于Hadoop我们会在其上搭建各种工具,此时要想有序运行,就需要一个调度系统来进行协调。
Hive:
简单来说就是程序员在写MapReduce程序的时候发现很麻烦,但是可以通过Hive解决这个事情。
hive是通过SQL的方式自动把脚本或者SQL翻译成MapReduce程序,然后丢给计算引擎去处理
因为SQL比较容易上手,容易修改,可能一两行的SQL语句换成MapReduce可能几十行,几百行
上面介绍的就是数据仓库的基本架构了,底层是 HDFS,上面运行的是 MapReduce/Spark,在往上封装的是Hive。
Storm:
想要更快的计算处理速度! Storm 是最流行的流计算平台。流处理的思路就是在数据进入系统的时候就进行处理,基本无延迟。缺点是不灵活,必须事先直到需要统计的数据,数据流过就没有了,没法进行补算。因此它是个好东西,但还是无法代替上述体系的。
HBase:
HBase 是一个构建与 HDFS 的分布式,面向列的存储系统。以 key value 对的方式存储数据并对存取操作做了优化,能够飞快的根据 key 获取绑定的数据。例如从几个 P 的数据中找身份证号只需要零点几秒。
本文来自博客园,作者:{理想三旬},转载请注明原文链接:{https://www.cnblogs.com/zyp0519/}