最近一段时间,大数据的话题真是火热,基本上到了不谈大数据就不能称自己是IT人士的程度。
也有一些人开始谈论大数据的数据质量,认为在大数据时代,对数据质量缺乏管理,就无法挖掘大数据的价值。但到目前为止,我还没有看到有人提到大数据的数据质量有什么特点,其处理方式与传统数据有什么不同。我试着从我的理解来对这两个问题做个解释,算是抛砖引玉吧,欢迎大家多拍砖。
我们都知道大数据的特点是3V,即大量化(Volume)、多种类(Variety)和高采集速度(Velocity)。大量化意味着传统的数据质量算法,除非有非常大的性能提升,是难以用在大数据环境下的,因为扫描一次的时间可能都是无法接受的;多种类更增加了这种难度,因为传统的数据质量算法基本上是基于关系数据的,对于象XML、文档、图数据等等类型,目前还没有太好的数据质量算法;高采集速度更是一个严峻的挑战,因为采集过程本来就是数据质量问题的主要来源,采集速度快,又不能及时进行数据质量处理,会导致数据质量问题的堆积,越来越严重。
同时,数据质量是一个综合性的问题,一般认为其包括三个方面:元数据的质量、数据内容的质量和数据使用方式的质量,而大数据的特点恰恰是元数据的弱化和未来使用方式的不确定性。
综上所述,在大数据本身上实现数据质量管理,至少从目前来看是不太现实的。那么,大数据质量该怎么处理呢?
我认为大数据质量的模型需要做一个变通,就是把其数据质量的管理放在应用级。在我们利用大数据做分析时,我们首先是从大数据中得到一个子集,如现在最常见的用户推荐算法,其工作方式是提取当前用户的上网行为、与当前用户分类相近的用户的上网行为,然后在此基础上提供推荐。在这个过程中,我们可以在提取出这些上网数据集后,在这个数据集上进行清洗,保证推荐的质量。因为这个数据子集量不是很大,因而采用各种数据质量算法是可行的。
这样我们就面临着另一个问题,就是数据质量系统必须是动态的。因为用户对大数据的分析方式事先难以预测,提取的数据子集元数据也无法事先确定,数据质量系统必须动态探查数据规则,清洗脏数据。目前动态的数据质量系统已经出现,因而我认为大数据数据质量的这种处理方案是目前是比较可行的。