1.1 深挖大数据
大数据含有与我们身边的业务难题息息相关的丰富信息。举例来说,如果你是一个电商公司的经理,你就可以在你公司网站上收集到关于你客户和访客的丰富信息,若能对此善加利用,你就能够增加公司的销售额、提升网站设计并改善客户服务,它还能为你提供市场策略和提升公司的整体策略的建议。这些都是由居住在你的服务器中的0和1实现的。你只需要从你的资源中分出一小部分,并从这些数据中间提炼出信息。这当然不是一桩赔本买卖,我们稍后会再回到这个例子。尽管有些网络数据披着大数据的外衣,但并不是每一种数据融合都可以叫做大数据。这主要是因为大数据的4个V特性。[1]
如我们之前所看到的,它们有如下几个特性。
- 体量(Volume):大数据由大量数据组成,从几个TB到几个ZB。这些数据可能会分布在许多地方,通常是在一些连入因特网的计算网络中。一般来说,凡是满足大数据的几个V的条件的数据都会因为太大而无法被单独的计算机处理。单单这一个问题就需要一种不同的数据处理思路,这也使得并行计算技术(例如MapReduce)得以迅速崛起。
高速(Velocity):大数据是在运动着的,通常处于很高的传输速度之下。它经常被认为是数据流,而数据流通常是很难被归档的(考虑到有限的网络存储空间,单单是高速就已经是一个巨大的问题)。这就是为什么只能收集到数据其中的某些部分。如果我们有能力收集数据的全部,长时间存储大量数据也会显得非常昂贵,所以周期性的收集数据遗弃一部分数据以节省空间,仅保留数据摘要(如平均值和方差)。这个问题在未来会显得更为严重,因为越来越多的数据正以越来越快的速度所产生。 - 多样(Variety):在过去,数据或多或少是同构的,这种特点也使得它更易于管理。这种情况并不出现在大数据中,由于数据的来源各异,因此形式各异。这体现为各种不同的数据结构类型,半结构化以及完全非结构化的数据类型。结构化数据多被发现在传统数据库中,数据的类型被预定义在定长的列字段中。半结构化数据有一些结构特征,但不总是保持一致(举例来说,看一看JSON文件),使得这种类型难以处理。更富于挑战的是非结构化数据(例如纯文本文件)毫无结构特征可言。在大数据中,更常见的是半结构化数据,而且这些数据源的数据格式还各不相同。
在过去的几年里,半结构化数据和结构化数据成为了大数据的主体数据类型。 - 准确(Veracity):这是一个在讨论大数据时时常被忽略的一个属性,部分原因是这个属性相对来说比较新,尽管它与其他的属性同样重要。这是一个与数据是否可靠相关的属性,也就是那些在数据科学流程中会被用于决策的数据(而这不同于与传统的数据分析流程,我们会在第11章中看到)。精确性与信噪比(signal-to-noise ratio)有关。例如,在大数据中发现哪些数据对商业是真正有效的,这在信息理论中是个十分重要的概念。由于并不是所有的数据源都具有相等的可靠性,在这个过程中,大数据的精确性会趋于变化。如何增加可用数据的精确性是大数据的主要挑战。注意,即使有些数据拥有这4种属性中的一种或多种,也不能被归类为大数据。大数据拥有以上全部4种特性。大数据是一个重要课题,因为它并不容易处理,即使是对于一台超级计算机,也很难独自有效地展开分析。
在我们最开始的案例中,一个你会面临的典型数据集可能会有以下性质。
数据量会非常大,并伴随着更快的增长趋势,特别是如果你的网站在监控访问者的各方面行为时。这些数据会很轻易地在一年之内达到几个TB。
由于访问者来来去去以及不断有新的访问者加入,数据会持续流动。这会变成在你服务器上连续的网络活动,也就是从网站中涌入你的服务器日志的数据流。
这些从访问者身上收集来的数据会有很大的不同,从简单的网站统计数据(例如在每一页上所花费的时间、访问总时间、访问了哪些页面,等等)到在网站中输入的文字(假设你有一些评论系统,例如大多电商网站)以及其他类型的数据(例如,消费者对各类商品的评分以及交易记录, 等等)
很自然地,并不是你在服务器上所观察到的一切都是值得信任的。有一些访问可能来自于黑客的机器人或者是来自于一些用户的不良目的,而有部分访问者可能是你的竞争者,正在暗中观察你!一些访问者会在他们的评论中写错别字,或是因为一些原因留下一些随意的或是无用的信息。即使你有一些过滤系统,你的网站上不时地收到一些无效数据也是不可避免的。
基于以上所有的观察,你还认为你在公司处理着大数据吗?为什么?如果你理解了上面说的这些概念,你应该自信并正面回答这些问题。每一个描述这个公司的数据情形的要点都与这几个V中的某一个有关。