加入收藏 | 设为首页 | 会员中心 | 我要投稿 航空爱好网 (https://www.52kongjun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数据计算过程

发布时间:2022-12-06 14:32:43 所属栏目:大数据 来源:互联网
导读: 大数据发展
起源于Google
大家都知道最早搜索引擎是Google.其功能是提供互联网用户的信息的检索功能。那搜索引擎具体都干了哪些事呢?
其实很简单的两件事:
一是数据采集,也就是网页的爬

大数据发展

起源于Google

大家都知道最早搜索引擎是Google.其功能是提供互联网用户的信息的检索功能。那搜索引擎具体都干了哪些事呢?

其实很简单的两件事:

一是数据采集,也就是网页的爬取;

二是数据搜索,也就是索引的构建;

数据采集离不开存储,索引的构建也需要大量计算,所以存储容器和计算能力贯穿搜索引擎的整个更迭过程。

在2004年前后,Google发表了三篇重要的论文,俗称“三驾马车”:

大数据 大数据_大数据运算_大数据崛起 马云与阿里的大数据帝国

在互联网早期,互联网产品用户规模都不是很大,很少的人会关注分布式解决方案,都在单体机器上寻找解决方案,也就是在硬件上下功夫;

而Google在当时的互联网界,不管是用户规模还是所产生数据量都是TOP级别的。所以,对分布式和集群等方式,解决存储方式研究较早,同时也采用横向拓展的思路,去研发系统。

Hadoop的产生

最早关注 Google 大数据论文的是一个程序员,也不陌生,Lucene项目的创始人 Doug Cutting。他看到论文后,颇为激动,程序员,动手能力当然很强,很快就依据论文的原理实现了类似 GFS 和 MapReduce的功能框架。注意是类似哦。

到了2006年,DC 开发的类似MapReduce功能的大数据技术,被独立出来,单独开发运维。这个也就是不就后被命名为 Hadoop 的产品。 该体系里面包含,大家熟知的分布式文件系统 HDFS 以及大数据计算引擎 MapReduce。

大数据解决什么问题

数据存储、数据挖掘、数据分析、数据可视化

什么是大数据

数据量达到TB、PB、EB...级别,一台或者几台机器也无法完成存储、计算分析等工作。

最小的基本单位是bit,按顺序给出所有单位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。

它们按照进率1024(2的十次方)来计算:

1 Byte =8 bit

1 KB = 1,024 Bytes = 8192 bit

1 MB = 1,024 KB = 1,048,576 Bytes

1 GB = 1,024 MB = 1,048,576 KB

1 TB = 1,024 GB = 1,048,576 MB

1 PB = 1,024 TB = 1,048,576 GB

1 EB = 1,024 PB = 1,048,576 TB

1 ZB = 1,024 EB = 1,048,576 PB

1 YB = 1,024 ZB = 1,048,576 EB

1 BB = 1,024 YB = 1,048,576 ZB

1 NB = 1,024 BB = 1,048,576 YB

1 DB = 1,024 NB = 1,048,576 BB

大数据生态圈

大数据 大数据_大数据运算_大数据崛起 马云与阿里的大数据帝国

大数据生态圈

大数据管理平台(安装、部署、配置、管理):Ambari,CDH...

分布式文件存储系统:Hadoop(HDFS)

资源管理和调度系统:Yarn

分布式数据库NoSQL:Hbase

计算框架引擎:MapReduce、Spark、Flink、Tez...

数据查询系统:Hive、Pig、Impala、SparkSQL...

分布式调度系统:ZooKeeper、Oozie...

数据传输中间件:Flume、Kafka、Sqoop...

机器学习:Spark Mlib、Mahout...

大数据运算_大数据崛起 马云与阿里的大数据帝国_大数据 大数据

CDH 集群设置

大数据运算_大数据崛起 马云与阿里的大数据帝国_大数据 大数据

CDH 监控状态大数据计算过程

HDFS 是业界的大数据存储标准

map、shuffle、reduce

以Word Count为例:

MapReduce实现

大数据中各种WordCount实现_墨殇-CSDN博客

Spark实现

Hadoop的核心设计

(1)HDFS

HDFS是一个高度容错性的分布式文件系统,可以被广泛的部署于廉价的PC上。它以流式访问模式访问应用程序的数据,这大大提高了整个系统的数据吞吐量,因而非常适合用于具有超大数据集的应用程序中。

HDFS的架构如图所示。HDFS架构采用主从架构(master/slave)。一个典型的HDFS集群包含一个NameNode节点和多个DataNode节点。NameNode节点负责整个HDFS文件系统中的文件的元数据的保管和管理,集群中通常只有一台机器上运行NameNode实例大数据运算,DataNode节点保存文件中的数据,集群中的机器分别运行一个DataNode实例。在HDFS中,NameNode节点被称为名称节点,DataNode节点被称为数据节点。DataNode节点通过心跳机制与NameNode节点进行定时的通信。

大数据运算_大数据崛起 马云与阿里的大数据帝国_大数据 大数据

?NameNode

可以看作是分布式文件系统中的管理者,存储文件系统的meta-data,主要负责管理文件系统的命名空间,集群配置信息,存储块的复制。

?DataNode

是文件存储的基本单元。它存储文件块在本地文件系统中,保存了文件块的meta-data,同时周期性的发送所有存在的文件块的报告给NameNode。

?Client

就是需要获取分布式文件系统文件的应用程序。

以下来说明HDFS如何进行文件的读写操作:

大数据崛起 马云与阿里的大数据帝国_大数据运算_大数据 大数据

文件写入:

1. Client向NameNode发起文件写入的请求

2. NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。

3. Client将文件划分为多个文件块,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。

大数据运算_大数据崛起 马云与阿里的大数据帝国_大数据 大数据

文件读取:

1. Client向NameNode发起文件读取的请求

2. NameNode返回文件存储的DataNode的信息。

3. Client读取文件信息。

(2)MapReduce

MapReduce是一种编程模型,用于大规模数据集的并行运算。Map(映射)和Reduce(化简),采用分而治之思想,先把任务分发到集群多个节点上,并行计算,然后再把计算结果合并,从而得到最终计算结果。多节点计算,所涉及的任务调度、负载均衡、容错处理等,都由MapReduce框架完成,不需要编程人员关心这些内容。

下图是MapReduce的处理过程:

大数据 大数据_大数据运算_大数据崛起 马云与阿里的大数据帝国

用户提交任务给JobTracer,JobTracer把对应的用户程序中的Map操作和Reduce操作映射至TaskTracer节点中;输入模块负责把输入数据分成小数据块,然后把它们传给Map节点;Map节点得到每一个key/value对,处理后产生一个或多个key/value对,然后写入文件;Reduce节点获取临时文件中的数据,对带有相同key的数据进行迭代计算,然后把终结果写入文件。

如果这样解释还是太抽象,可以通过下面一个具体的处理过程来理解:(WordCount实例)

大数据崛起 马云与阿里的大数据帝国_大数据运算_大数据 大数据

Hadoop的核心是MapReduce,而MapReduce的核心又在于map和reduce函数。它们是交给用户实现的,这两个函数定义了任务本身。

map函数:接受一个键值对(key-value pair)(例如上图中的Splitting结果),产生一组中间键值对(例如上图中Mapping后的结果)。Map/Reduce框架会将map函数产生的中间键值对里键相同的值传递给一个reduce函数。

reduce函数:接受一个键,以及相关的一组值(例如上图中Shuffling后的结果),将这组值进行合并产生一组规模更小的值(通常只有一个或零个值)(例如上图中Reduce后的结果)

但是,Map/Reduce并不是万能的,适用于Map/Reduce计算有先提条件:

(1)待处理的数据集可以分解成许多小的数据集;

(2)而且每一个小数据集都可以完全并行地进行处理;

若不满足以上两条中的任意一条,则不适合适用Map/Reduce模式。

HBaseSpark

(编辑:航空爱好网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!