大数据预处理架构和方法简介大数据预处理架构和方法简介
数据预处理主要包括数据清洗(Data Cleaning)、数据集成(Data Integration)、数据转换(Data Transformation)和数据
消减(Data Reduction)。本节在介绍大数据预处理基本概念的基础上对数据预处理的方法进行讲解。
大数据预处理整体架构大数据预处理整体架构
大数据预处理将数据划分为结构化数据和半结构化/非结构化数据,分别采用传统 ETL 工具和分布式并行处理框架来实现。总
体架构如图 1 所示。
图 1 大数据预处理总体架构
结构化数据可以存储在传统的关系型数据库中。关系型数据库在处理事务、及时响应、保证数据的一致性方面有天然的优势。
非结构化数据可以存储在新型的分布式存储中,如 Hadoop 的 HDFSo 半结构化数据可以存储在新型的分布式 NoSQL 数据库
中,如 HBase。
分布式存储在系统的横向扩展性、存储成本、文件读取速度方面有着显著的优势。
结构化数据和非结构化数据之间的数据可以按照数据处理的需求进行迁移。例如,为了进行快速并行处理,需要将传统关系型
数据库中的结构化数据导入到分布式存储中。
可以利用 Sqoop 等工具,先将关系型数据库的表结构导入分布式数据库,然后再向分布式数据库的表中导入结构化数据。
数据质量问题分类数据质量问题分类
数据清洗在汇聚多个维度、多个来源、多种结构的数据之后,对数据进行抽取、转换和集成加载。
在以上过程中,除了更正、修复系统中的一些错误数据之外,更多的是对数据进行归并整理,并储存到新的存储介质中。其
中,数据的质量至关重要。
如图 2 所示,常见的数据质量问题可以根据数据源的多少和所属层次(定义层和实例层)分为 4 类。
1)单数据源定义层)单数据源定义层
违背字段约束条件(例如,日期出现 9 月 31 日),字段属性依赖冲突(例如,两条记录描述同一个人的某一个属性,但数值
不一致),违反唯一性(同一个主键 ID 出现了多次)等。
2)单数据源实例层)单数据源实例层
单个属性值含有过多信息,拼写错误,存在空白值,存在噪音数据,数据重复,数据过时等;
3)多数据源定义层)多数据源定义层
同一个实体的不同称呼(如 custom_id、custom_num),同一种属性的不同定义(例如,字段长度定义不一致,字段类型不
一致等);
4)多数据源实例层)多数据源实例层
数据的维度、粒度不一致(例如,有的按 GB 记录存储量,有的按 TB 记录存储量;有的按照年度统计,有的按照月份统
计),数据重复,拼写错误等。
图 2 数据质量问题分类
除此之外,在数据处理过程中产生的“二次数据”,也会有噪声、重复或错误的情况。
数据的调整和清洗,也会涉及格式、测量单位和数据标准化与归一化的相关事情,以致对实验结果产生比较大的影响。通常这
类问题可以归结为不确定性。
不确定性有两方面内涵,包括各数据点自身存在的不确定性,以及数据点属性值的不确定性。前者可用概率描述,后者有多重
评论0