昨天公司几个同事讨论项目中遇到的问题,对于如何应对客户提出的数据清洗智能化的需求,其中一个很资深的同事提到,对于大部分项目,数据质量和数据清洗最终都会成为咨询项目,“工具在其中起到的作用连20%都不到”。他认为,对于技术类的诸如非空、唯一性等质量问题,若能推动业务系统解决,则没有检查的必要,对于解决不了的,则检查也没有意义;对于业务类的检查,则工具也提前定义不出规则,而且规则也不会很多。对于这个同事的观点,我之前也有同感,但是对于工具无用论的看法,我是不怎么认同的:
- 第一,数据质量检查和清洗的工具,应该分成运营功能和实施工具两个层面去规划。前者是数据平台正式上线后,完成日常数据质量检查和清洗的功能,这也是目前我所见到系统能完成的功能;后者是项目实施过程中,辅助数据质量分析与编写清洗脚本的工具,可以将项目实施过程中的经验、教训以工具的形式沉淀下来,提高项目的实施效率。这个方面的工具目前是欠缺的,或者说即使有,也是在较低水平徘徊,所谓的自己写个VBA什么的。
- 第二,业界一般认为,在数据项目中,80%的工作是数据清洗,这项工作虽然很多,很累,但产生的价值一般不会被直接感知。而光鲜的部分是可视化、数据挖掘、算法等,能给客户讲故事。因此,数据治理和数据清洗,就沦为了最低级的活,变成了写SQL和存储过程的苦力活。与数据挖掘、可视化等环节众多的工具相比,数据清洗的工具就很乏味了,除了几个对清洗任务进行编排调度的工具之外,也见不到其它有亮点的功能。从我的观察来看,在数据清洗过程中,一方面是可以运用IT化手段,减少一些简单的手工、重复工作,另一方面,则可以将经验形成知识库,运用数据检索、算法等手段,辅助完成部分的工作,比如,建立模型过程中的代码转换、逻辑关系映射、特定规则的清洗脚本等。这方面的功能可以通过saas的形式服务于所有项目的实施团队,在项目实施过程中不断完善与提升,逐步将人从重复而简单的劳动中解放出来。