大数据学习笔记(一)

参考书本:《大数据技术原理与应用概念、存储、处理、分析与应用》第二版,《大数据基础编程、实验和案例教程》
厦门大学大数据课程公共服务平台:http://dblab.xmu.edu.cn/post/bigdata-teaching-platform/

第一章 大数据概述

1.1 大数据时代

1.1.1 信息科技为大数据时代提供技术支持

①存储设备容量不断増加——解决了信息存储的问题

②CPU处理能力大幅提升——解决了信息处理的问题

③网络带宽不断増加——解决了信息传输的问题

1.1.2 数据产生方式的变革促成大数据时代的来临

数据是我们通过观察、实验或计算得出的结果。数据和信息是两个不同的概念。信息是较为
宏观的概念,它由数据的有序排列组合而成,传达给读著某个概念方法等;而数据则是构成信息
的基本单位,离散的数据没有任何实用价值。

数据产生方式的变革,是促成大数据时代来临的重要因素。总体而言,人类社会卽数据产生
方式大致经历了 3个阶段:运营式系统阶段、用户原创内容阶段和感知式系统阶段:
在这里插入图片描述

1.1.3 大数据的发展历程

大数据的发展历程总体上可以划分为3个重要阶段:萌芽期、成熟期和大规模应用期:
在这里插入图片描述

1.2 大数据的概念

大数据的“4V”,或者说是大数据的4个特点,包含4个层面:数据量大(Volume),数据类型繁多(Variety),处理速度快(Velocity)和价值密度低(Value )。

1.2.1 数据量大

“数据爆炸”成为大数据时代的鲜明特征。

1.2.2 数据类型繁多

1.2.3 处理速度快

数据处理和分析的速度要达到秒级响应,需要基于快速生成的数据给出实时分析结果。

1.2.4 价值密度低

1.3 大数据的影响

1.3.1 大数据对科学研究的影响

①第一种范式,实验科学:在最初的科学研究阶段,人类采用实验来解决一些科学问题。

扫描二维码关注公众号,回复: 8872039 查看本文章

②第二种范式,理论科学:实验科学的研究会受到当时实验条件的限制,难以完成对自然现象更精确的理解。随着科学的进步,人类开始采用各种数学、几何、物理等理论,构建问题模型和解决方案。

③第三种范式,计算科学:随着1946年人类历史上第一台计算机ENIAC的诞生,人类社会开始步入计算机时代,科学研究也进入了一个以“计算”为中心的全新时期。在实际应用中,计算科学主要用于对各个科学问题进行计算机模拟和其他形式的计算。通过设计算法并编写相应程序输入计算机运行,人类可以借助于计算机的高速运算能力去解决各种问题。计算机具有存储容量大、运算速度快、精度高、可重复执行等特点,是科学研究的利器,推动了人类社会的飞速发展。(先提出可能的理论,再搜集数据,然后通过计算来验证)

④第四种范式,数据密集型科学:随着数据的不断累积,其宝贵价值日益得到体现,物联网和云计算的出现,更是促成了事物发展从量变到质变的转变,使人类社会开启了全新的大数据时代。这时,计算机将不仅仅能做到模拟仿真,还能进行分析总结,得到理论。在大数据环境下,一切将以数据为中心,从数据中发现问题、解决问题,真正体现数据的价值。大数据将成为科学工作者的宝藏,从数据中可以挖掘未知模式和有价值的信息,服务于生产和生活,推动科技创新和社会进步。(先有了大量已知的数据,然后通过计算得出之前未知的理论)

1.3.2 大数据对思维方式的影响

①全样而非抽样

②效率而非精确

③相关而非因果

1.3.3 大数据对社会发展的影响

①大数据决策成为一种新的决策方式

②大数据应用促进信息技术与各行业的深度融合

③大数据开发推动新技术和新应用的不断涌现

1.3.4 大数据对就业市场的影响

大数据的兴起使得数据科学家成为热门人才。

尽管有少数人认为未来有更多的数据会采用自动化处理,会逐步降低对数据科学家的需求,但是仍然有更多的人认为,随着数据科学家给企业所带来的商业价值的日益体现,市场对数据科学家的需求会越发旺盛。

1.3.5 大数据对人才培养的影响

大数据的兴起将在很大程度上改变中国高校信息技术相关专业的现有教学和科研体制。一方面,数据科学家是一个需要掌握统计、数学、机器学习、可视化、编程等多方面知识的复合型人才。另一方面,数据科学家需要大数据应用实战环境,在真正的大数据环境中不断学习、实践并融会贯通,将自身技术背景与所在行业业务需求进行深度融合,从数据中发现有价值的信息。

高校培养数据科学家人才需要采取“两条腿”走路的策略,即“引进来”和“走出去”。所谓“引进来”,是指高校要加强与企业的紧密合作,从企业引进相关数据,为学生搭建起接近企业应用实际的、仿真的大数据实战环境,让学生有机会理解企业业务需求和数据形式,为开展数据分析奠定基础,同时从企业引进具有丰富实战经验的高级人才,承担起数据科学家相关课程教学任务,切实提高教学质量、水平和实用性。所谓“走出去”,是指积极鼓励和引导学生走出校园,进入互联网、金融、电信等具备大数据应用环境的企业去开展实践活动,同时努力加强产、学、研合作,创造条件让高校教师参与到企业大数据项目中,实现理论知识与实际应用的深层次融合,锻炼高校教师的大数据实战能力,为更好培养数据科学家人才奠定基础。

1.4 大数据的应用

在这里插入图片描述

1.5 大数据关键技术

所谓大数据技术,是指伴随着大数据的采集、存储、分析和应用的相关技术,是一系列使用非传统的工具来对大量的结构化、半结构化和非结构化数据进行处理,从而获得分析和预测结果的一系列数据处理和分析技术。

大数据的基本处理流程,主要包括数据采集、存储、分析和结果呈现等环节。数据无处不在,这些分散在各处的数据,需要采用相应的设备或软件进行采集。采集到的数据通常无法直接用于后续的数据分析,因为对于来源众多、类型多样的数据而言,数据缺失和语义模糊等问题是不可避免的,因而必须采取相应措施有效解决这些问题,这就需要一个被称为“数据预处理”的过程,把数据变成一个可用的状态。数据经过预处理以后,会被存放到文件系统或数据库系统中进行存储与管理,然后采用数据挖掘工具对数据进行处理分析,最后采用可视化工具为用户呈现结果。在整个数据处理过程中,还必须注意隐私保护和数据安全问题。
在这里插入图片描述

1.6 大数据计算模式

在这里插入图片描述

1.6.1 批处理计算

批处理计算主要解决针对大规模数据的批量处理。MapReduce是最具有代表性和影响力的大数据批处理技术,可以并行执行大规模数据处理任务,用于大规模数据集(大于1TB)的并行运算。MapReduce极大地方便了分布式编程工作,它将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数——Map和Reduce上,编程人员在不会分布式并行编程的情况下,也可以很容易地将自己的程序运行在分布式系统上,完成海量数据集的计算。

Spark是一个针对超大数据集合的低延迟的集群分布式计算系统,比MapReduce快许多。Spark启用了内存分布数据集,除了能够提供交互式査询外,还可以优化迭代工作负载。在MapReduce中,数据流从一个稳定的来源进行一系列加工处理后,流出到一个稳定的文件系统(如HDFS)。而对于Spark而言,则使用内存替代HDFS或本地磁盘来存储中间结果,因此Spark要比MapReduce的速度快许多。

1.6.2 流计算

流数据(或数据流)是指在时间分布和数量上无限的一系列动态数据集合体,数据的价值随着时间的流逝而降低,因此必须采用实时计算的方式给出秒级响应。流计算可以实时处理来自不同数据源的、连续到达的流数据,经过实时分析处理,给出有价值的分析结果。

目前业内已涌现出许多的流计算框架与平台,第一类是商业级的流计算平台,包括IBM InfoSphere Streams和IBM StreamBase等;第二类是开源流计算框架,包括 Twitter Storm、Yahoo! S4 (Simple Scalable Streaming System )、SparkStreaming等;第三类是公司为支持自身业务开发的流计算框架,如Facebook使用Puma和HBase相结合来处理实时数据,百度开发了通用实时流数据计算系统DStrtam、淘宝开发了通用流数据实时计算系统——银河流数据处理平台。

1.6.3 图计算

在大数据时代,许多大数据都是以大规模图或网络的形式呈现,许多非图结构的大数据也常常会被转换为图模型后再进行处理分析。MapReduce作为单输入、两阶段、粗粒度数据并行的分布式计算框架,在表达多迭代、稀疏结构和细粒度数据时,往往显得力不从心,不适合用来解决大规模图计算问题。

因此,针对大型图的计算,需要釆用图计算模式,目前已经出现了不少相关图计算产品。Pregel是一种基于BSP( Bulk Synchronous Parallel)模型实现的并行图处理系统。为了解决大型图的分布式计算问题,Pregel搭建了一套可扩展的、有容错机制的平台,该平台提供了一套非常灵活的API,可以描述各种各样的图计算。Pregel主要用于图遍历、最短路径、PageRank计算等。其他代表性的图计算产品还包括Facebook针对Pregel的开源实现Giraph、Spark下的GraphX、图数据处理系统PowerGraph 等。

1.6.4 查询分析计算

针对超大规模数据的存储管理和査询分析,需要提供实时或准实时的响应,才能满足企业经营管理需求。谷歌公司开发的Dremel是一种可扩展的、交互式的实时査询系统,用于只读嵌套数据的分析。通过结合多级树状执行过程和列式数据结构,它能做到几秒内完成对万亿张表的聚合査询。系统可以扩展到成千上万的CPU上,满足谷歌上万用户操作PB级的数据,并且可以在2〜3s内完成PB级别数据的査询。此外,Cloudera公司参考Dremel系统开发了实时査询引擎Impala,它提供SQL语义,能快速査询存储在Hadoop的HDFS和HBase中的PB级大数据。

1.7 大数据产业

大数据产业是指一切与支撑大数据组织管理和价值发现相关的企业经济活动的集合。
在这里插入图片描述
陕西西咸新区洋西新城已在信息产业园中规划了国内首家以大数据处理与服务为特色的产业园区;重庆市政府出台的《重庆市大数据行动计划》中明确提出,到2017年,重庆市将打造2〜3个大数据产业示范园区,培育10家核心龙头企业、500家大数据应用和服务企业,引进和培养1 000名大数据产业高端人才,形成500亿元大数据产业规模,建成国内重要的大数据产业基地;天津市在2013年11月初公布了《滨海新区大数据行动方案(2013-2015 )>,方案中明确提出,到2017年,把天津建设成为具有国际竞争力的大数据产业基地和数据资源聚集服务区;位于福建省泉州市安溪县龙门镇的中国国际信息技术(福建)产业园,于2015年5月建成投入运营,是福建省第一个大数据产业园区,致力于以国际最高等级第三方数据中心为核心,构建以信息技术服务外包为主的绿色生态产业链,打造集数据中心、安全管理、云服务、电子商务、数字金融、信息技术教育、国际交流、投融资环境等功能为一体,覆盖福建、辐射海西的国际一流高科技信息技术产业园区。

1.8 大数据与云计算、物联网

云计算、大数据和物联网代表了 IT领域最新的技术发展趋势,三者相辅相成,既有联系又有区别。

1.8.1 云计算

1.8.1.1 云计算的概念

云计算实现了通过网络提供可伸缩的、廉价的分布式计算能力,用户只需要在具备网络接入条件的地方,就可以随时随地获得所需的各种IT资源。云计算代表了以虚拟化技术为核心、以低成本为目标的、动态可扩展的网络应用基础设施,是近年来最有代表性的网络计算技术与模式。

云计算包括3种典型的服务模式:

①IaaS (基础设施即服务):将基础设施(计算资源和存储)作为服务出租;

②PaaS (平台即服务):把平台作为服务出租;

③SaaS (软件即服务):把软件作为服务出租。
在这里插入图片描述
云计算包括公有云、私有云和混合云3种类型:

①公有云面向所有用户提供服务,只要是注册付费的用户都可以使用,比如Amazon AWS;

②私有云只为特定用户提供服务,比如大型企业出于安全考虑自建的云环境,只为企业内部提供服务;

③混合云综合了公有云和私有云的特点,因为对于一些企业而言,一方面出于安全考虑需要把数据放在私有云中,另一方面又希望可以获得公有云的计算资源,为了获得最佳的效果,就可以把公有云和私有云进行混合搭配使用。

可以采用云计算管理软件来构建云环境(公有云或私有云),OpenStack就是一种非常流行的构建云环境的开源软件。OpenStack管理的资源不是单机的而是一个分布的系统,它把分布的计算、存储、网络、设备、资源组织起来,形成一个完整的云计算系统,帮助服务商和企业内部实现类似于Amazon EC2和S3的云基础架构服务。

1.8.1.2 云计算的关键技术

①虚拟化:虚拟化技术是云计算基础架构的基石,是指将一台计算机虚拟为多台逻辑计算机,在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

②分布式存储

③分布式计算

④多租户:多租户技术目的在于使大量用户能够共享同一堆栈的软硬件资源,每个用户按需使用资源,能够对软件服务进行客户化配置,而不影响其他用户的使用。多租户技术的核心包括数据隔离、客户化配置、架构扩展和性能定制。

1.8.1.3 云计算数据中心

1.81.4 云计算的应用

1.8.1.5 云计算产业

在这里插入图片描述

1.8.2 物联网

1.8.2.1 物联网的概念

物联网是物物相连的互联网,是互联网的延伸,它利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式连在一起,形成人与物、物与物相连,实现信息化和远程管理控制。

从技术架构上来看,物联网可分为四层:

①感知层:包含大量传感器,采集来自物理世界的各种信息来感知物理世界;

②网络层:包含各种类型的网络,起到信息传输的作用;

③处理层:包括数据存储、管理和分析平台,起到存储和处理的作用;

④应用层:直接面向用户,满足各种应用需求。
在这里插入图片描述

1.8.2.2 物联网关键技术

①识别和感知技术

②网络与通信技术

③数据挖掘与融合技术

1.8.2.3 物联网的应用

1.8.2.4 物联网产业

在这里插入图片描述

1.8.3 大数据与云计算、物联网的关系

在这里插入图片描述

1.9 大数据软件

在这里插入图片描述

1.9.1 Hadoop

Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式计算架构。Hadoop是基于Java语言开发的,具有很好的跨平台特性,并且可以部署在廉价的计算机集群中。Hadoop的核心是分布式文件系统HDFS(Hadoop Distributed File System)和MapReduce,借助Hadoop,程序员可以轻松地编写分布式并行程序,将其运行在廉价的计算机集群上,完成海量数据的存储与计算。
在这里插入图片描述

1.9.2 Spark

Spark最初的设计目标是使数据分析更快——不仅运行速度快,也要能快速、容易地编写程序。为了使程序运行更快。Spark提供了内存计算,减少了迭代计算时的I/O开销;而为了使编写程序更易,Spark使用简练、优雅的Scala语言编写,基于Scala提供了交互式的编程体验。

Spark生态系统已经成为伯克利数据分析软件栈BDAS(Berkeley Data Analytics Stack)的重要组成部分。Spark生态系统可以很好地实现与Hadoop生态系统的兼容,使得现有Hadoop应用程序可以非常容易地迁移到Spark系统中。
在这里插入图片描述

1.9.3 NoSQL数据库

NoSQL数据库是一种不同于关系数据库的数据库管理系统,是对一大类非关系型数据库的统称,它所釆用的数据模型并非传统关系数据库的关系模型,而是类似键值、列族、文档等非关系模型。NoSQL数据库没有固定的表结构,通常也不存在连接操作,也没有严格遵守ACID约束,因此,与关系数据库相比,NoSQL具有灵活的水平可扩展性,可以支持海量数据存储。此外,NoSQL数据库支持MapReduce风格的编程,可以较好地应用于大数据时代的各种数据管理。

典型的NoSQL数据库通常包括键值数据库、列族数据库、文档数据库和图数据库:

①键值数据库(Key-Value Database)会使用一个哈希表,这个表中有一个特定的Key和一个指针指向特定的Value。Key可以用来定位Value,即存储和检索具体的Value。Value对数据库而言是透明不可见的,不能对Value进行索引和査询,只能通过Key进行査询。Value可以用来存储任意类型的数据,包括整型、字符型、数组、对象等。在存在大量写操作的情况下,键值数据库可以比关系数据库取得明显更好的性能。

②在文档数据库中,文档是数据库的最小单位。虽然每一种文档数据库的部署都有所不同,但是,大都假定文档以某种标准化格式封装并对数据进行加密,同时用多种格式进行解码,包括XML、YAML、JSON和BSON等,或者也可以使用二进制格式(如PDF、微软Office文档等)。文档数据库通过键来定位一个文档,因此可以看成键值数据库的一个衍生品,而且前者比后者具有更高的査询效率。对于那些可以把输入数据表示成文档的应用而言,文档数据库是非常合适的。

1.9.4 数据可视化

数据可视化是指将大型数据集中的数据以图形图像形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程。数据可视化技术的基本思想是将数据库中每一个数据项作为单个图元素表示,大量的数据集构成数据图像,同时将数据的各个属性值以多维数据的形式表示,可以从不同的维度观察数据,从而对数据进行更深入的观察和分析。虽然可视化在数据分析领域并非最具技术挑战性的部分,但是,它是整个数据分析流程中至关重要的一个环节,毕竟数据分析是为人服务的,分析结果只有能够让用户轻松理解,才能更好地指导生产实践,真正体现数据分析的价值。

发布了11 篇原创文章 · 获赞 0 · 访问量 273

猜你喜欢

转载自blog.csdn.net/qq_44009891/article/details/104060125