1.9 很多大数据其实并不重要

事实上,绝大多数大数据都是无关紧要的。这听起来必然很残酷,不是吗?但这并不是我们对大数据的预期。正如我们已经讨论过的,一个大数据流体现在容量、速度、多样性和复杂度等多个方面。大数据流的很多内容对于某些特定目标来说是没有价值的,而有些内容则没有任何用处。驾驭大数据并不意味着一定要将所有的水牢牢地圈在游泳池中。事实更像是通过一个吸管吸水:你只需要把你所需要的部分吸出来就可以了,剩下的部分就随它去吧。

在一个大数据流中,有些信息具有长期的战略价值,有些信息只具有临时的战术价值,而另外一些信息则毫无价值。驾驭大数据的关键部分是弄清楚不同信息所属的类别。

有个例子能够很好地说明这一点,这就是我们将在第3章中讨论的无线射频标签(RFID),今天很多产品在运输时都会在运货箱上打上这种标签。对于一些昂贵的货物,甚至在每一个货物上都会打上标签。将来,为每件货物打上标签最终会成为一个标准做法。但是在今天的很多情况下,这么做的代价仍然过于昂贵,因此通常只在每个运货箱上打一个标签。这些标签使得运货箱当前的位置、装载和卸载的时间、存放的地点都很容易被追踪到。

想象一个存放了数以万计运货箱的仓库。每个运货箱都打上了一个RFID标签。RFID识别器每隔10秒都要向仓库询问一次:“是谁在那里?”每个运货箱都会给出如下回应:“是我。”让我们来讨论一下,在这个例子中大数据是如何很快瘦身的。

今天第一个到达的运货箱会发出信息:“我是运货箱123456789。我在这里。”在未来3个星期内,只要这个运货箱还在仓库中,那么每隔10秒它都会重复地应答:“我在这里。我在这里。我在这里。”在每隔10秒的轮询过后,非常有必要去分析所有的应答,并鉴别出状态发生了改变的运货箱。通过这种方式,可以确认那些预期的变化,并对状态发生了非预期变化的运货箱采取相应措施。

一旦一个运货箱离开了仓库,它将不再做出任何应答。一旦确认这个运货箱是按照预期方式离开的,那之前所有“我在这里”的记录将不再有用。随着时间的推移,真正有用的是这些运货箱到达和离开的日期和时间。如果这两个时间点相隔了3个星期,我们需要保留的也仅仅是运货箱到达和离开的这两个时间戳。在这期间里,所有那些每隔10秒做出“我在这里”的应答虽然没有任何长期价值,但是仍有必要收集它们。而且在它们产生的每个时刻,都有必要去分析它们。但是那些在这两个时刻点之外的应答将不再有任何长期价值。一旦这个运货箱离开,这些数据便可以被安全地丢弃。


准备好丢弃数据

驾驭大数据的一个关键是要鉴别出那些重要的信息。有些信息具有长期的战略价值,有些信息只具有临时的战术价值,而另外一些信息则毫无价值。让大量数据放任自流显得很奇怪,但对大数据来说却是意料之中的事情。也许你需要一些时间来适应丢弃一些低价值的数据。


如果原始的大数据流可以被保存一段时间,那么就可以返回并提取一些在第一次处理过程中丢掉的信息。关于这种做法的一个例子是我们现在正在做的网络活动跟踪。大多数网站都使用了基于标签的方法。在基于标签的方法中,首先需要弄明白需要对用户交互过程中的哪些文本、图像或链接进行跟踪。那些用户看不见的标签,将会汇报用户正在做的事情。由于只有被标签标注了的内容才会被汇报,所以从一开始,大部分的浏览信息就被忽略掉了。问题是,如果不小心丢失了创建一个新促销图片标签的请求,我们将无法返回并分析这张图片的访问信息。虽然以后也可以加上标签,但就只能收集到此时间点后的活动信息了。

有一些新的方法可以用来解析原始网络日志,无需预先定义也可以对事件进行鉴别。这些方法是基于日志的,因为它们直接使用原始网络日志。这种方法的价值在于,如果你后来意识到曾忘记收集关于该促销图片的交互信息,你仍可以重新解析那些数据并把它们提取出来。在这种情况下,所有数据在开始时都不会被丢弃,但是在分析时要决定留下哪些数据。这是一种重要的能力,也解释了为什么尽管代价是昂贵的,但保留一些历史数据仍然是有意义的。需要保存多少数据取决于数据流的大小以及可用的存储空间。一个不错的解决方案是在存储成本所允许的范围内,保存尽可能多的历史数据,从而获得尽可能高的灵活度。