购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 人工智能的血液
——大数据

2.3.1 揭秘大数据

大数据本身是一个抽象的概念,依托于互联网和云计算的发展,大数据在各行各业产生的价值越来越大,例如大数据+政府、大数据+金融、大数据+智慧城市、大数据+传统企业数字化转型、大数据+教育、大数据+交通等。大数据可以理解为一种资源或资产。

IBM把大数据特征归结为5V(见图2-10)。

图2-10 大数据5V特征

而人们所谈论的大数据实际上更多是从应用的层面,比如某公司搜集、整理了大量的用户行为信息,然后通过数据分析手段对这些信息进行分析,从而得出对公司有利用价值的结果。

一般而言,大数据是指数量庞大而复杂,传统的数据处理产品无法在合理的时间内捕获、管理和处理的数据集合。

2.3.2 数据→价值

大数据的核心在于:整理、分析、预测及控制。重点并不是拥有了多少数据,而是拿数据去做什么。如果数据只是堆积在某个地方,那么它将是毫无用处的。它的价值在于“使用性”,而不是数量和存储的地方。任何一种对数据的收集都与它的功能有关。如果不能体现出数据的功能,大数据所有的环节都是低效的,也是没有生命力的。

数据的价值密度很低,人们最初看到的只是冰山一角(见图2-11),需要深层次挖掘。

图2-11 大数据价值

2.3.3 大数据思维

1.整体思维

整体思维是根据全部样本得到结论,即“样本=总体”。因为大数据是建立在掌握所有数据,至少是尽可能多的数据的基础上的,所以整体思维可以正确地考查细节并进行新的分析。如果数据足够多,它会让人们觉得有足够的能力把握未来,从而做出自己的决策。

结论:从采样中得到的结论总是有水分的,而根据全部样本中得到的结论水分就很少,数据越大,真实性也就越大。

2.相关思维

相关思维要求人们只需要知道是什么,而不需要知道为什么。在这个不确定的时代,等找到准确的因果关系,再去办事的时候,这个事情早已经不值得办了。所以,社会需要放弃它对因果关系的渴求,而仅需关注相关关系。

结论:为了得到即时信息,实时预测,寻找到相关性信息,比寻找因果关系信息更重要。

3.容错思维

实践表明,只有5%的数据是结构化且能适用于传统数据库的。如果不接受容错思维,剩下95%的非结构化数据都无法被利用。

对小数据而言,因为收集的信息量比较少,必须确保记下来的数据尽量精确。然而,在大数据时代,放松了容错的标准,人们可以利用这95%数据做更多更新的事情,当然,数据不可能完全错误。

结论:运用容错思维可以利用这95%的非结构化数据,帮助人们进一步接近事实的真相。

2.3.4 Hadoop

1.谷歌三驾马车

谷歌为了业务需求开发了分布式文件存储系统(DFS)、分布式运算系统(MapReduce)和非关系型数据模型大表(BigTable),并相应地发表了三篇论文,历史上称为谷歌的三驾马车,如图2-12所示。

图2-12 谷歌三驾马车

2.Hadoop架构

Hadoop是Apache基金会在谷歌三驾马车基础上的开源实现,丰富了Zookeeper、Spark及Flume等模块,形成了大数据处理底层分布式基础架构生态系统,如图2-13所示。

图2-13 Hadoop架构

图2-14各模块的功能见表2-1。

表2-1 Hadoop各模块功能介绍

(续)

3.HDFS

HDFS(Hadoop Distributed File System)是Hadoop生态的基础和核心,其结构如图2-14所示。

图2-14 HDFS架构

从图2-14可知:

1)HDFS=1个NameNode+1个Secondary NameNode+多个DataNode。

2)NameNode称为名称节点、命名空间、主节点或元数据节点,主要存放元数据(Meta)。

3) Secondary NameNode称为从元数据节点,是命名空间的冷备份。

4)DataNode称为数据节点,是存放数据的物理空间,以块(Block)为基本单位。

5)NameNode和DataNode是主从结构。

6)块是HDFS操作最小单位,一般为128MB。

7)元数据(Meta)=文件目录结构信息(Catalogue)+操作日志信息(Log),是数据的描述信息。

8)NameNode只存放Catalogue,和Secondary NameNode之间只相差3600s的Catalogue。

9)DataNode按机架(Rack)进行组织,图2-14有两个机架。

10)客户端只能同NameNode交互。

11)一个数据块通常要备份3份。第一份放到任务发起用户所在节点,如果请求是集群外发起,就随机选一不忙的节点;第二份放到与第一份不同的机架的节点上,第三份放到与第一份所在机架不同节点上,如图中标记黑色的块。

12)DataNode定时向NameNode发送状态信息(心跳,Heartbeats),维护Block到本地文件系统(HDFS Client)的映射关系。

13)NameNode的主要任务是监控心跳、负载平衡及数据块备份的位置信息。

4.MapReduce

图2-15给出了MapReduce基本架构。

图2-15 MapReduce基本架构

从图2-15看出:

1)MapReduce=若干Map过程+若干Reduce过程。

2)MapReduce是一个分布式计算框架。

3)Map过程就是数据分解。

4)Reduce过程就是计算汇总。

5)数据来自HDFS,计算结果存储到HDFS。

6)整个计算过程需要四个键值对。

7)Map和Reduce之间通过Shuffle进行通信。 p5bYsKAlnaPL74wwLCqfhDLgiWJVN5/MF/HgJ4sk9++Cd9TCj+iFZ+Pams6TauU8

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开