目录

一、单机数据系统

二、Hadoop

(一)、HDFS 的两个关键组件:

(二)、MapReduce:分布式计算框架

三、Hive(SQL on Hadoop)

四、Spark(hadoop第一代引擎MapReduce的升级版本)

五、总结


一、单机数据系统

一台服务器,数据存储在本地,通过SQL对数据进行操作。

二、Hadoop

Hadoop主要由两部分组成,分布式存储(HDFS)和分布式计算(MapReduce)

(一)、HDFS 的两个关键组件:

1、NameNode

负责分布式文件系统的元数据(MetaData)管理,如:文件路径名、数据块的 ID 以及存储位置等信息,相当于操作系统中文件分配表(FAT)的角色

2、DataNode

负责文件数据的存储和读写操作,HDFS 将文件数据分割成若干数据块(Block),每个 DataNode 存储一部分数据块,从而将一个大文件分割存储在整个 HDFS 集群中

(二)、MapReduce:分布式计算框架

分别在不同的服务器上并行的执如一复杂的计算任务,单台服务器无法胜任时,可将此大任务切分成一个个小的任务,最终再汇总每个小任务的结果。即MapReduce由两个阶段组成:Map阶段(切分成一个个小的任务)、Reduce阶段(汇总小任务的结果)。

计算过程:

  • 首先,将输入的内容分到不同的block

  • 将每个block的内容转换为 < key , Value > 健值对

  • 将相同的 key 集中在一起,形成 < key,List<value> >

  • 最后,将 List<value> 进行归约合并,输出零或多个  < key , Value >

三、Hive(SQL on Hadoop)

Hive不支持更改数据的操作,Hive基于数据仓库,提供静态数据的动态查询。其使用类SQL语言,底层经过编译转为MapReduce程序,在Hadoop上运行,数据存储在HDFS上。

四、Spark(hadoop第一代引擎MapReduce的升级版本)

Spark 将大数据集合抽象成一个 RDD 对象,然后提供了 transformation(转换)、action(动作)两大类算子函数,对RDD进行处理,并得到一个新的 RDD,然后继续后续迭代计算,像 Stream 流一样依次执行,直到任务结束。内部也是采用分片处理,每个分片都会分配一个执行线程。

五、总结

Logo

大数据从业者之家,一起探索大数据的无限可能!

更多推荐