写点什么

架构师训练营第十二周 - 总结

发布于: 2020 年 09 月 02 日

1       大数据概述

1.1     大数据技术发展史

今天我们常说的大数据技术,其实起源于Google 在2004年前后发表的三篇论文,也就是我们经常听到的大数据“三驾马车”,分别是分布式文件系统GFS、大数据分布式计算框架 MapReduce和NoSQL数据库系统 BigTable。

 

搜索引擎主要就做两件事情,一个是网页抓取,一个是索引构建和排序,而在这个过程

中,有大量的数据需要存储和计算。这“三驾马车”其实就是用来解决这个问题的,也就是,一个文件系统、一个计算框架、一个数据库系统

 

Lucene 开源项目的创始人 Doug Cutting当时正在开发开源搜索引擎 Nutch,阅读了Google的论文后,根据论文原理初步实现了类似GFS和MapReduce 的功能。

 

2006年,Doug Cutting将这些大数据相关的功能从 Nutch 中分离了出来,然后启动了

一个独立的项目专门开发维护大数据技术,这就是后来赫赫有名的Hadoop主要包括Hadoop 分布式文件系统HDFS 和大数据计算引擎 MapReduce

      

在Hadoop早期,MapReduce既是一个执行引擎,又是一个资源调度框架,服务器集群的资源调度管理由MapReduce自己完成。但是这样不利于资源复用,也使得MapReduce非常臃肿。于是一个新项目启动了,将MapReduce 执行引擎和资源调度分离开来,这就是Yarn。2012年,Yarn成为一个独立的项目开始运营,随后被各类大数据产品支持,成为大数据平台上最主流的资源调度系统。

 

同样是在2012年,UC伯克利AMP 实验室(Algorithms、Machine和People 的缩写)

开发的Spark 开始崭露头角。当时 AMP 实验室的马铁博士发现使用MapReduce 进行机器学习计算的时候性能非常差,因为机器学习算法通常需要进行很多次的迭代计算,而MapReduce每执行一次Map和 Reduce 计算都需要重新启动一次作业,带来大量的无谓消耗。还有一点就是MapReduce主要使用磁盘作为存储介质,而2012年的时候,内存已经突破容量和成本限制,成为数据运行过程中主要的存储介质。Spark一经推出,立即受到业界的追捧,并逐步替代MapReduce 在企业应用中的地位。

 

一般说来,像MapReduce、Spark 这类计算框架处理的业务场景都被称作批处理计算因为它们通常针对以“天”为单位产生的数据进行一次计算,然后得到需要的结果,这中间计算需要花费的时间大概是几十分钟甚至更长的时间。因为计算的数据是非在线得到的实时数据,而是历史数据,所以这类计算也被称为大数据离线计算

 

而在大数据领域,还有另外一类应用场景它们需要对实时产生的大量数据进行即时计

,比如对于遍布城市的监控摄像头进行人脸识别和嫌犯追踪。这类计算称为大数据流

计算,相应地,有Storm、Flink、Spark Streaming 等流计算框架来满足此类大数据应

用的场景。流式计算要处理的数据是实时在线产生的数据,所以这类计算也被称为大数据实时计算。

 

NoSQL系统处理的主要也是大规模海量数据的存储与访问,所以也被归为大数据技术。

NoSQL曾经在2011年左右非常火爆,涌现出HBase、Cassandra等许多优秀的产品,其中HBase是从 Hadoop 中分离出来的、基于HDFS的 NoSQL 系统。

       上面这些基本上都可以归类为大数据引擎或者大数据框架。

 

1.2     大数据处理的主要应用场景

大数据处理的主要应用场景包括:数据分析、数据挖掘与机器学习。

-数据分析主要使用Hive、Spark等SQL引擎完成;

-数据挖掘与机器学习则有专门的机器学习框架TensorFlow、Mahout以及MLlib 等,内置了主要的机器学习和数据挖掘算法。



1.3     大数据应用发展史

-搜索引擎时代

-数据仓库时代

-数据挖掘时代

-机器学习时代

 

1.4     大数据应用领域举例

-医学影像智能识别

-病例大数据智能诊疗

-AI外语老师

-智能解题

-舆情监控与分析

-大数据风控

-新零售

-无人驾驶



用户头像

还未添加个人签名 2019.01.06 加入

还未添加个人简介

评论 (1 条评论)

发布
用户头像
作业请添加“极客大学架构师训练营”标签,便于分类
2020 年 09 月 03 日 10:26
回复
没有更多了
架构师训练营第十二周-总结