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

任务一
初识大数据

大数据时代,数据在人们的生活中无处不在。各行各业都因为大数据产生了巨大的变革。大数据,顾名思义,就是大量的数据。但是,这种简单的认知无法使我们在商业领域的营销活动中充分感受大数据的魅力。要想做好大数据营销,我们首先要对大数据有一个全面的了解和认识,建立大数据思维。

(一)大数据的内涵和特征

每一项重大的科学发现与关键技术的诞生都给人类文明带来革命性与颠覆性的改变。1946年2月14日,世界首台通用计算机“ENIAC”在美国宾夕法尼亚大学诞生。随着计算机的发展,信息的存储、分析与传播产生了革命性的变化。之后的网络技术更是以在人类历史上从来没有过的发展速度改变着人们的生活、工作、消费和交往方式。

随着互联网技术的发展,人们逐渐进入信息社会,数字信息出现爆炸式增长,每个人都处于传播节点上。我们周围到处都是数字信息,全球每天有数十亿部手机以及大量传感器、支付系统和相机等设备产生呈指数级增长的数据。

在30多年前,通信行业的数据大部分是结构化数据,而如今多媒体技术的普及导致非结构化数据(如音乐、视频等)的数量迅速增长。也就是说,30多年前,一个普通文件也许只表现为数据库中的一排数字,而如今一个普通文件可能包含许多数字化图片、影像或音频内容。如今,92%以上的数据为非结构化数据。

国际数据公司(International Data Corporation,IDC)的报告显示,全球近90%的数据是在这几年内产生的,预计到2025年,全球数据量将达到163ZB,约相当于178万亿GB。表1-1所示为数据存储单位。

表1-1 数据存储单位

随着信息总量的不断增加,信息形态也在不断发生变化。最先经历信息爆炸的学科,如天文学、基因学,首先创造出“大数据”这一概念,而云时代的到来让大数据更受关注。如今,大数据被誉为新时代的“石油”和“黄金”,成为一种新兴且价值巨大的资产,极大地影响着社会的各个领域。

“大数据”一词由英文“Big Data”翻译而来,而“Big Data”一词由著名未来学家阿尔文·托夫勒在《第三次浪潮》一书中首先提出,书中写道:“如果说IBM的主机拉开了信息化革命的大幕,那么大数据才是第三次浪潮的华彩乐章。”

对大数据进行收集和分析的设想来自全球著名的管理咨询公司麦肯锡公司。在2011年6月发布的关于大数据的报告中,麦肯锡公司指出:“数据日益成为一种生产力,已经渗透到当今每一个行业和业务职能领域,成为日益重要的生产因素。大数据在物理学、生物学、环境生态学领域存在已有时日,近年来因为互联网和信息行业的发展而受到广泛关注……它将成为全世界下一个创新、竞争和生产率提高的前沿。”

2012年,美国政府推出《大数据研究和发展计划》,将大数据上升为国家战略。2014年,我国政府工作报告中首次出现了“大数据”这一概念。2015年,我国政府工作报告中提出了“互联网+”行动计划,着重推动我国云计算、大数据相关产业的发展。

大数据的定义目前并没有统一的说法,可以简单地将大数据理解为大量的数据,其具体是指一种规模庞大的、可以实现对数据进行获取、存储以及管理等功能的集合,能够将特定行为人的消费方式、生活习惯、兴趣爱好及交往关系等完整地展现出来。

换句话说,大数据的“大”,除了数据量的庞大以外,其价值的“大”也不容忽视。充分挖掘大数据中的价值对于人类社会的意义巨大。在信息化时代背景下,企业利用大数据可以对经营现状做出合理的分析与评价,不仅可以降低经营成本,还可以进一步提高企业的市场竞争力,树立企业形象,帮助企业制定正确的发展目标,为企业决策提供重要依据。

相比于小数据的数据量小、数据类型单一的特征,大数据具有规模性、多样性、准确性、时效性和低价值密度等5个特征,如图1-1所示。

图1-1 大数据的特征

1. 规模性

规模性是大数据的首要特征,即采集、存储和计算的数据量非常庞大。大数据的起始计算量至少是100TB。随着信息技术的发展,社会产生的数据量开始井喷式增长,数据存储单位已经从过去的MB、GB级别发展到现在的PB、EB级别,社交平台、物联网、电子商务等都成为重要的数据来源。

2. 多样性

大数据的多样性是指大数据种类和来源多样化,具体表现为网络日志、音频、视频、图片、地理位置信息等多类型的数据。多样性对数据的处理能力提出更高的要求,由于编码方式、数据格式、应用特征等多个方面存在差异,多信息源并发形成大量的异构数据。

3. 准确性

大数据的准确性是指在数据的生命周期内数据的一致性和完整性。保证大数据的准确性,意味着应以准确、真实、完整的方式对数据进行收集、记录和存储。当前,大型互联网平台采用的解决数据准确性问题的方法通常是实现技术和管理的结合。在技术上,首先使用更优数据预处理方法,去除大部分无用数据,然后设定一系列逻辑验证规则,进一步保证数据的准确性;在管理方面,设定一个规范化的数据管理流程,如数据安全保护流程等,以保证数据的真实性和准确性。

4. 时效性

大数据对处理速度有严格要求,大数据时代强调实时分析,数据输入、处理与丢弃立刻见效,分析结论可以立即应用于实践。例如,对于搜索引擎,要求几分钟前的新闻能够被用户查询到;对于个性化推荐算法,要求尽可能实时完成推荐。这是大数据不同于传统数据的最显著的特征。数据处理始终坚持遵循“1秒定律”,即要在秒级时间范围内给出分析结果,从而快速地从各种类型的数据中获取有价值的信息。

5. 低价值密度

大数据价值密度的高低与数据总量的大小成反比。现实世界产生的数据虽然数量巨大,但有价值的数据占比很小,并且分散藏匿在海量的数据中,其价值和意义难以被发现和利用。

在营销过程中,只有将数据与产品或客户实时连接起来,数据才会产生价值。例如,在登录购物网站首页的时候,每个用户看到的首页推荐各不相同,因为后台的算法和模型能够判断登录系统的用户的偏好,从而为每个用户提供不一样的推荐内容。

大数据分析的价值在于从海量相关性较低的多种类型的数据中,挖掘出对模式预测与未来趋势有价值的部分数据,并借助人工智能技术发现新的知识,将新知识运用到各个领域,从而改善社会治理,提高社会生产效率。

(二)大数据的类型

根据不同的维度,大数据可以分为不同的类型。下面分别从数据的结构、数据能否再现、数据的存储层次、数据的状态、数据的隐私性等维度来介绍大数据的类型。

1. 数据的结构

根据数据的结构来划分,大数据可以分为3类:结构化数据、非结构化数据和半结构化数据。

(1)结构化数据

结构化数据是指以表格形式组织的数据,如关系型数据库中的数据、电子表格中的数据等,包括财务系统数据、信息管理系统数据、医疗系统数据等,多年来一直主导着信息技术应用,是联机事务处理系统业务所依赖的信息。这些数据具有明显的字段和值,数据间的因果关系强,便于数据存储与处理。结构化数据通常可以通过结构化查询语言(Structured Query Language,SQL)等传统的数据处理工具进行分析与挖掘。

有组织的数据易于评估和排序,因为它具有预先确定的组织特征,并以结构化或表格模式提供。每个字段都是独立的,可以被单独访问,也可以与其他字段一起被访问,因为字段是指定的。因此,结构化数据非常重要。

(2)非结构化数据

非结构化数据是指数据结构不规则或不完整,没有预定义的数据模型,以及不方便使用数据库二维逻辑表来表现的数据,如文本、图像、音频、视频等。这些数据通常需要进行自然语言处理、图像识别、音频处理等技术处理和分析,以提取其中有用的信息。大多数大数据由非结构化数据组成。

(3)半结构化数据

半结构化数据是指有一定结构但不具有完整结构的数据,如超文本标记语(Hyper Text Markup Language,HTML)、可拓展标记语言(eXtensible Markup Language,XML)、JS对象简谱(JavaScript Object Notation,JSON)等,其特点是数据间的因果关系弱。半结构化数据不具有固定的数据模式,因此难以通过传统的关系型数据库进行处理和分析,需要使用专门的半结构化数据处理工具和技术。

2. 数据能否再现

以能否再现的标准来划分,大数据可以分为不可再生数据和可再生数据。

(1)不可再生数据

不可再生数据通常是最原始的数据,一旦生成但未及时存储,可能再也无法获得。例如,当用户访问网站时,网站会追踪用户的行为,如果当时没有将用户的行为数据记录下来,就没有其他数据来还原用户的行为了。因此,对用户日志这种不可再生数据来说,企业必须有完善的保护措施和严格的权限设置。

(2)可再生数据

可再生数据是指通过其他数据可以生成的数据,也就是说,即使该数据没有了,将来还可以通过其他数据把缺失的数据计算出来。原则上,指标类数据的衍生数据都是可再生的,只要原始的不可再生数据还在,就可以通过重新运算来获得衍生数据。不过,很多可再生数据是经过很长时间的积累及不断加工而形成的,因此不可以随意删除,以免再花费大量的人力和物力,而应对数据进行有效保护。

3. 数据的存储层次

按照数据的存储层次来划分,大数据可以分为基础层数据、中间层数据和应用层数据。

(1)基础层数据

基础层数据通常与原始数据基本一致,不做汇总,以尽量避免失真,常用作其他数据研究的基础。

(2)中间层数据

中间层数据是基于基础层数据加工而成的数据,中间层一般也被认为是数据仓库层。对于这些数据,企业会根据不同的业务需求,按照不同的主体来存放。

(3)应用层数据

应用层数据是针对具体数据问题的应用,将中间层所罗列数据的变量通过模型计算形成新的数据,如解决具体问题的数据分析和数据挖掘的数据。

在存储层次这个层面上,最大的问题是数据的冗余和管理的混乱,尤其是那些拥有海量数据的大公司,数据的冗余问题尤为严重,造成了巨大的浪费。在一些大公司中,进行数据分析、开发、挖掘的人可能达到数十人甚至数百人,并归属于不同的业务部门,这是为了满足不同的业务部门各自分析数据的需求。这样一来,不同的人可能从头开始建立起了一套包括基础层、中间层和应用层的数据,而彼此之间又没有合适的交流方式,导致出现浪费现象。

因此,基础层数据必须统一,除了满足备份需求外,没有必要在多个场合保留多份基础层数据。只要保证基础层数据有良好的元数据管理方式,就可以极大地降低成本。而对于中间层数据和应用层数据而言,如果业务比较单一,且成本压力比较大,就适合进行集中式管理;如果业务量非常大,则适合由多个数据团队分散管理和应用。

4. 数据的状态

根据数据的状态来划分,大数据可以分为静态数据和动态数据。

(1)静态数据

静态数据,又称截面数据,是指在运行过程中主要作为控制或参考用的数据,在很长的一段时间内不会发生变化,一般不随运行而变,如购物网站的会员数据,包括会员的出生年份、性别、居住地、工作地址等。

(2)动态数据

动态数据,又称时间序列数据,是对事物在不同时间节点的状态的记录,反映事物的动态变化性,或者在不同时间节点上的差异性。例如,电商平台每天的交易数据,以及系统生成的日志类数据都属于动态数据。

5. 数据的隐私性

以是否具有隐私性为标准,大数据可以分为隐私数据和非隐私数据。

隐私数据是指需要有严格的保密措施来保护的数据,否则会对用户的隐私造成威胁,如用户的交易记录。企业要建立良好的数据管理机制,对数据的隐私级别进行划分。从数据安全的角度来说,数据可以分为两种类型,即企业级别和用户级别的数据。企业级别的数据包括交易额、利润、某大型活动的成交额等;用户级别的数据包括身份证号码、密码、用户名、手机号等。非隐私数据是指不涉及个人隐私的数据。

大数据在赋予生产生活便捷的同时,也让拥有大数据的企业、与大数据相关的技术人员肩负着巨大的责任,如果数据采集或应用不当,就涉嫌侵犯用户的隐私。因此,政府应加强监督力度,行业应适当引导规范,企业也要足够自律,以避免大数据的反向作用。

(三)大数据的技术架构

根据大数据从获取到应用的流程,大数据的技术架构分为数据采集、数据存储、数据处理、数据治理与融合建模、数据应用等层级。

1. 数据采集

数据采集是大数据技术架构的第一层。使用大数据采集技术获得来自传感器、移动互联网等的各种类型的海量的结构化、半结构化及非结构化数据,能为实现对数据的抽取—转换—加载(Extract-Transform-Load,ETL)操作打好基础。

ETL负责将分布式的、异构数据源中的数据,如关系数据、平面文件数据等抽取到临时中间层,并进行清洗、转换与集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。

2. 数据存储

数据存储分为持久化存储和非持久化存储。

(1)持久化存储

持久化存储是指把数据存储到磁盘等介质中,存储机器异常断电或者损坏后,只要存储介质没有损坏,数据就不会丢失。常见的持久化存储工具有Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)、HBase、MongoDB等。

HDFS适合运行在通用硬件上和部署在廉价的机器上,是一个具有高度容错性的系统,能够进行高吞吐量的数据访问,非常适合应用于大规模数据集。

HBase是一个基于Java、面向列的、构建于HDFS上的、仿照谷歌的BigTable的论文开发的开源式非关系型分布式数据库。

MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为Web应用提供可扩展的高性能数据存储解决方案。它支持的数据结构非常松散,可以存储比较复杂的数据类型,它最大的特点是它支持的查询语言功能非常强大。

(2)非持久化存储

非持久化存储表示把数据存储在内存中,具有读写速度快等优点,但存储机器关机或断电后数据就会丢失。常见的非持久化存储工具有Memcached等。Memcached是一个自由开源的、高性能的分布式内存对象缓存系统。

Redis通过作为持久化存储和非持久化存储的中介,为非持久化存储的数据提供缓存机制,可以大幅度提高系统的响应速度,降低非持久化存储带来的压力。

3. 数据处理

数据处理可以分为两种类型,即在线处理和离线处理。

(1)在线处理

在线处理对实时响应有很高的要求,如对存储数据的数据库的一次查询操作。Storm是一个免费并开源的分布式实时计算系统。利用Storm可以很容易做到可靠地处理无限的数据流,像Hadoop可以批量处理大数据一样,Storm可以实时处理数据。

(2)离线处理

离线处理是对实时响应没有要求的处理,如批量压缩文档。离线处理涉及Hadoop、SparkCore、Hive等系统。

Hadoop是一个分布式的基础架构,能够让用户方便、高效地利用运算资源,处理海量数据,目前已在很多大型互联网企业得到了广泛应用。Hadoop的核心是MapReduce(映射和化简编程模型)引擎,Map意为将单个任务分解为多个,而Reduce则意为将分解后的多任务结果汇总,该引擎由JobTrackers(工作追踪,对应命名节点)和TaskTrackers(任务追踪,对应数据节点)组成。当处理大数据查询时,MapReduce会将任务分解在多个节点进行处理,从而提高数据处理的效率,避免单个节点的性能瓶颈限制。MapReduce是一种典型的离线批量计算框架。

SparkCore是Spark的核心与基础,实现了Spark的基本功能,包含任务调度、内存管理、错误恢复与存储系统交互等模块。Spark拥有MapReduce所具有的优点,但不同于MapReduce的是,Spark不再需要读写HDFS,因此能够更好地适用于数据挖掘与机器学习等需要迭代的场景。

Hive是基于Hadoop的一个数据仓库工具,用于进行数据提取、转化和加载,可以存储、查询和分析存储在Hadoop中的大规模数据。

4. 数据治理与融合建模

数据采集、数据存储和数据处理是大数据技术架构的基础。一般情况下,完成上述3个步骤就已经将数据转化为可以进行初步挖掘的基础数据,为上层的数据应用提供了数据支撑。但是,在大数据时代,由于数据类型多样,价值密度低,数据治理与融合建模就显得很有必要,通常利用R语言、Python、Matlab等对数据进行ETL预处理,然后根据算法模型、业务模型进行融合建模,以便更好地为业务应用提供优质的底层数据。

R语言是一套完整的数据处理、计算和制图软件系统,其功能包括数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言可操纵数据的输入和输出,实现分支、循环,而且用户可自定义功能。

Python提供了高效的高级数据结构,还能简单、有效地面向对象编程。Python的语法和动态类型及其解释型语言的本质,使其成为多数平台上用于写脚本和快速开发应用的编程语言。

Matlab是美国MathWorks公司出品的商业数学软件。Matlab是对matrix和laboratory两个单词的组合,意为矩阵工厂(矩阵实验室),该软件主要用于科学计算、可视化以及交互式程序设计等高科技计算环境。它将数值分析、矩阵计算、科学数据可视化,以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大限度上摆脱了传统非交互式程序设计语言(如C语言、Fortran语言)的编辑模式。

5. 数据应用

数据应用反映大数据技术应用的目标,通常包括信息检索、关联分析等。

信息检索主要是根据用户需求,全面、准确地查找数据库,从海量的数据中返回用户需要的信息。Lucene和Elasticsearch等开源项目为信息检索的实现提供了支持。

Lucene是一个开放源代码的全文检索引擎工具包,提供了完整的查询引擎和索引引擎,以及部分文本分析引擎,其目的是为软件开发人员提供一个简单易用的工具包,以便在目标系统中实现全文检索功能,或者以此为基础建立起完整的全文检索引擎。

Elasticsearch是一个分布式、高扩展性、高实时性的搜索与数据分析引擎,它能很方便地使大量数据具有搜索、分析和探索的能力。Elasticsearch的实现原理主要如下:用户将数据提交到Elasticsearch数据库中;通过分词控制器将对应的语句分词,将其权重和分词结果一并存入数据;当用户搜索数据时,根据权重对结果进行排名、打分;将返回结果呈现给用户。

关联分析通常用来挖掘数据之间的内在联系,常用于产品推荐与引导、用户精准营销等方面。

大数据的技术架构为大数据的业务应用提供了一种通用的架构,实际应用时还要根据行业领域、公司技术积累以及业务场景,从业务需求、产品设计、技术选型、方案实现流程等方面对具体问题进行具体分析。 ier5CuHP4RTcgEAgd+qOmz8x1EDAoNJLspgE7H34kuzbs4qcDS6U3Z4aYfDPHQsy

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