(1)以传统方式构建的基本架构对数据进行清洗
大数据必须经过清洗、分析、建模、可视化,才能体现其潜在的价值。然而,由于网民数量的增加、业务应用的多样化和社交网络的繁荣,单个文件(比如日志文件、音视频文件等)变得越来越大,硬盘的读取速度和文件的存储成本越来越显得捉襟见肘。与此同时,政府、银行和保险公司等内部存在海量的非结构化、不规则的数据,只有将这些数据采集并清洗为结构化、规则的数据,才能提高公司决策支撑能力和政府决策服务水平,使之发挥应有的作用。
因此,目前的数据清洗主要是将数据划分为结构化数据和非结构化数据,分别采用传统的数据提取、转换、加载(ETL)工具和分布式并行处理来实现。其总体架构如图10-5所示。

图10-5 大数据清洗总体架构(https://www.daowen.com)
具体来讲,结构化数据可以存储在传统的关系型数据库中。关系型数据库在处理事务、及时响应、保证数据的一致性方面有着天然的优势。
非结构化数据可以存储在新型的分布式存储中,比如Hadoop的HDFS。分布式存储在系统的横向扩展性、降低存储成本、提高文件读取速度方面有着独特的优势。
此外,就是结构化数据和非结构化数据之间的数据迁移。如果要将传统结构化数据,例如关系型数据库中的数据导入到分布式存储中,可以利用Sqoop等工具,先将关系型数据库(mysql、postgresql等)的表结构导入分布式数据库(Hive),然后再向分布式数据库的表中导入结构化数据。