1、 ICS 35.020 CCS L 70 DB52 贵州省地方标准 DB52/T 1540.32020 政务数据 第 3 部分:数据清洗加工规范 Government dataPart 3:Data cleaning and processing specification 2020 - 11 - 20 发布 2020 - 12 - 20 实施 贵州省市场监督管理局 发布 DB52/T 1540.32020 I 目 次 前言 . . II 1 范围 . . 1 2 规范性引用文件 . . 1 3 术语和定义 . . 1 4 缩略语 . . 2 5 环境要求 . . 2 6 过程要求 . . 3
2、 附录 A(资料 性) 典型业务数据转换规则表 . 10 DB52/T 1540.32020 II 前 言 本文件按照GB/T 1.1 2020标准化工作导则 第1部分:标准化文件的结构和起草规则的规定起 草。 本文件是DB52/T 1540的第3部分。 DB52/T 1540已经发布了以下部分: 第3部分:数据清洗加工规范。 请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。 本文件由贵州省大数据发展管理局提出。 本文件由贵州省大数据标准化技术委员会归口。 本文件起草单位:贵州省机械电子产品质量检验检测院、贵州中软云上数据技术服务有限公司、云 上贵州大数据产业发展
3、有限公司、信通达智能科技有限公司。 本文件主要起草人:徐凯琳、宿睿智、陈凤杰、朱永龙、郑如顺、杨建雄、田野、黄明峰、刘军、 秦晓东、韦超、罗森、常丹丹、安小敏、骆进、邵建平、刘彦嘉、孙瑾。 DB52/T 1540.32020 1 政务数据 第 3 部分:数据清洗加工规范 1 范围 本文件规定了政务数据清洗加工的术语和定义、缩略语、环境要求和过程要求。 本文件适用于政务数据的清洗加工。 2 规范性引用文件 下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件, 仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本 文件。 D
4、B52/T 11262016 政府数据 数据脱敏工作指南 3 术语和定义 下列术语和定义适用于本文件。 3.1 数据清洗加工 data cle aning and processing 运用一定方法修正识别到的数据问题,提高数据质量的过程。 3.2 政务数据 government data 各级政务部门及其技术支撑单位在履行职责过程中依法采集、生成、存储、管理的各类数据资源。 注:根据可传播范围,政务数据一般包括可共享政务数据、可开放公共数据及不宜开放共享政务数据。 来源:GB/T 38664.1 2020,3.1 3.3 噪声数据 noisy data 无意义数据,或所有难以被机器正确理解和
5、翻译的数据。 3.4 结构化数据 structured data 一种数据表示形式,按此种形式,由数据元素汇集而成的每个记录的结构都是一致的并且可以使用 关系模型予以有效描述。 来源:GB/T 35295 2017,2.2.13 DB52/T 1540.32020 2 3.5 非结构化数据 unstruct ured data 不具有预定义模型或未以预定义方式组织的数据。 来源:GB/T 35295 2017,2.1.25 3.6 半结构化数据 semi-struc tured data 具有结构性,但结构变化大,且难以用结构化数据的处理方法将其放进二维表的数据。 示例: XML 文档内容,每
6、项都被一对标记封起来,如,表面上看是结构化数据,但 之间的数据却是千变万化,这是典型的半结构化数据。 来源:DA/T 82 2019,2.8 3.7 表结构 table st ructure 为主体层内容提供表示语义的一种存储范例。 来源:GB/T 35295 2017,2.2.14 4 缩略语 下列缩略语适用于本文件。 ETL:数据的抽取、转换和加载(Extract Tr ansform Load) ELT:数据的抽取、加载和转换(Extract Lo ad Transform) 5 环境要求 5.1 敏感数据脱敏处理应按 DB52/T 1126 2016 的规定进行,并在保证数据安全不被泄
7、露的环境下进 行清洗加工。 5.2 应在与互联网隔绝的安全环境下处理政务数据,环境支持数据可存储、可转化,数据清洗加工工 作应符合贵州省“一云一网一平台”安全技术的相关规定,并确保数据的机密性和完整性。 5.3 数据清洗加工人员应经过相应的技术和安全培训,具有数据清洗加工的能力,并能按照数据安全 处理相关制度完成清洗加工过程。 DB52/T 1540.32020 3 6 过程要求 6.1 清洗加工流程 6.1.1 数据清洗加工 ETL 流程见图 1。 图1 数据清洗加工 ETL 流程 DB52/T 1540.32020 4 6.1.2 对于海量数据,宜使用数据清洗加工 ELT 流程见图 2。
8、图2 数据清洗加工 ELT 流程 6.2 数据抽取 6.2.1 应具备全量抽取和增量抽取两种方式。 6.2.2 抽取来源应能支撑抽取操作,使用生产库,或通过前置库等方式进行抽取。 6.2.3 应支持结构、半结构和非结构等不同类型数据的抽取。 6.2.4 抽取目的地的存储容量应能支持抽取来源的数据总量,数据抽取目的地的表结构应与抽取来源 的表结构保持一致。 6.2.5 增量抽取(更新)应确定增量更新的方式,抽取的数据应有字段可区分,如更新时间等。 DB52/T 1540.32020 5 6.3 定义规则 6.3.1 应分析抽取目标数据的范围、体量、类型、内容、关系、质量等信息,全面认识数据情况。
9、 6.3.2 以需求为导向、应用为目标,考虑目标数据资源特点和工作复杂程度,结合业务要求或用户和 其他相关方的需求、期望,确定切实可操作的数据清洗加工目标及规则。 6.4 数据过滤 数据过滤包括以下操作: a) 将非结构化和半结构化数据转化为结构化数据; b) 对噪声数据进行删除; c) 对业务数据中不符合应用规则的数据进行删除; d) 过滤删除掉的数据应存入问题数据库表,便于后续查证或重新使用。 6.5 数据检核 6.5.1 检核要求 6.5.1.1 非空检核 应在字段为非空的情况下,对该字段数据进行检核,数据不能为空值。 6.5.1.2 长度检核 数据长度应满足转换要求的字段长度。 6.5
10、.1.3 数据量检核 过滤后的数据总量应与原始抽取的数据总量吻合。 6.5.1.4 数据类型和值检核 数据类型和值应能支持后续数据转换过程,如后续根据定义规则需要将时间字符串数据转换成时间 类型时,还需检验时间字符串类型的数据,应符合时间格式。 6.5.2 检核步骤 数据检核步骤如下: a) 按 6.5.1 规定检核数据资源是否满足要求; b) 当不满足检核要求时,应进行数据错误标识; c) 当满足检核要求时,直接进行数据转换。 6.6 错误标识 6.6.1 错误类型 常见数据的错误类型如下: a) 残缺数据:缺一些记录,或一条记录里缺一些值(空值),或两者都缺; b) 错误数据:数据没有严格
11、按照规范记录,包括格式内容错误、逻辑错误、不合规等; c) 重复数据:相同的记录出现多条或多条记录代表同一实体。 DB52/T 1540.32020 6 6.6.2 识别方法 可采用统计学方法、数据挖掘、基于聚类的方法、基于距离的方法、基于分类的方法、基于关联规 则的方法、业务区分等方式分析数据,从而识别出数据的错误类型。 6.6.3 标识步骤 错误标识步骤如下: a) 按 6.6.2 推荐的方法,分析筛选出数据资源中存在的数据问题; b) 按 6.6.1 的类型,对数据问题进行分类,标识错误。 6.7 修正处理 6.7.1 残缺数据处理 6.7.1.1 处理策略 按照字段缺失比例和字段重要性
12、,分别制定策略。残缺数据处理策略制定参考图见图3。 图3 残缺数据处理策略制定参考图 6.7.1.2 去除字段 备份当前数据,直接删掉不需要的字段。 6.7.1.3 填充缺失内容 按以下方式填充缺失内容: a) 不同指标的计算结果填充:通过数据项与数据项之间的逻辑联系,采取一定的列拆分、列计算 等方式得到缺失内容,如年龄字段缺失,但具有公民身份证号,可从公民身份证号提取年龄数 据; b) 同一指标的计算结果填充:采取均值、中位数、众数等方式进行填充,如时间序列缺失,可使 用前后的均值填充; 缺 失 率 特征:重要性高,缺失率低 策略:1.通过计算进行填充 2.通过经验或业务知识估计 特征:重要
13、性高,缺失率高 策略:1.尝试去其他渠道取数补全 2.使用其他字段通过计算获取 3.去除字段,并在结果中表明 特征:重要性低,缺失率低 策略:不做处理或简单填充 特征:重要性低,缺失率高 策略:去除该字段 重要性 高 高 低 低 DB52/T 1540.32020 7 c) 重新获取:当缺失率高且非常重要的数据项,应采取重新抽取不同数据源的数据进行关联对比 填充。 6.7.1.4 取数补全 以线下收集、业务知识或经验推测补全缺失值。 6.7.2 错误数据处理 6.7.2.1 格式内容问题 格式内容问题数据处理采用以下方法: a) 全、半角处理:通过正则表达式将全、半角符号按照事先定义的规则进行
14、全、半角符号统一; b) 有不该存在的字符:以半自动校验结合半人工方式来找出存在的问题,自动去除不需要的字符, 将数据自动化统一或人工修正为正确字符; c) 内容与字段不匹配:详细识别问题类型,如人工填写错误、前端没有校验、导入数据时部分或 全部存在列没有对齐、数据源端业务系统缺陷等,不能直接删除,应按照清洗规则,采取加入 更多数据源进行数据关联,找到匹配的相应字段进行填补。 6.7.2.2 逻辑问题 逻辑问题数据处理采用以下方法: a) 了解数据潜在的逻辑规则,采取逻辑推理法,直接去掉一些使用简单逻辑推理即可发现问题的 数据; b) 对于不重要的不合理数据宜直接删除,对于重要的不合理值宜进行
15、人工干预或引入更多数据源 进行关联识别; c) 通过字段间相互验证的方法修正矛盾内容,如根据字段的数据来源,判定哪个字段提供的信息 更可靠,去除或重构不可靠字段; d) 通过分箱、聚类、回归等方法识别离群值(异常值),按照经验和业务流程判断其合理性,若 合理,则保留该数值;若不合理,对重要性较高而无法重新采集的数值,按缺失数据处理,对 重要性较低的数值,可直接删除; e) 对于复杂逻辑数据问题应咨询了解该数据的产生原因,按照协商的清洗加工规则进行处理。 6.7.2.3 不合规问题 不合规问题数据处理采用以下方法: a) 设定判定规则:设定强制合规条件,不在规则范围内的,强制设置最大值及最小值,
16、剔除或判 断为无效字段; b) 设定警告规则:不在规则范围内的,进行警告及人工处理。 6.7.3 重复数据 重复问题处理步骤如下: a) 通过元数据血缘关系查询到重复数据的各个来源; b) 通过数据主键或寻找相关信息识别重复数据的含义,不是相同含义的数据不能界定为重复数据 进行去重处理,应分别保留; c) 查询到确定的重复数据,根据权威性和应用场合,选择最恰当渠道 来源的数据,或在不影响 数据保真度和完整性的情况下进行合并处理。 DB52/T 1540.32020 8 6.8 数据转换 6.8.1 应在数据检验通过后开始。 6.8.2 开始前应检查需要转换的数据规则和字段是否一致。 6.8.3
17、 应实现对数据的格式、信息代码、值的冲突进行转换,典型业务数据转换规则见附录 A。 6.8.4 转换后的数据结构应与目标数据库的结构相兼容。 6.8.5 数据向目标移动时,将其从源数据中移除,或数据复制到多个目标中。 6.8.6 转换失败应立即停止,开始查找问题。 6.8.7 长时间未转换结束,需仔细核查数据量、规则和字段是否一致,如有问题应立即停止。 6.8.8 转换中查找到问题,应解决问题后再开始数据转换。 6.9 结果检验 6.9.1 检验内容 6.9.1.1 主键重复 检验多个业务系统中同类数据经过清洗后,在统一保存时,主键的唯一性。 6.9.1.2 非法代码、非法值 检查个别字段出现
18、的异常信息,包括非法代码、代码与数据标准不一致、取值错误、格式错误、多 余字符、乱码等。 6.9.1.3 数据格式 检验表中属性值的格式正确衡量其准确性,如时间格式、币种格式、多余字符、乱码。 6.9.1.4 记录数 检验各个系统相关数据之间的数据总数检核或数据表中每日数据量的波动。 6.9.1.5 业务约束 应从业务的角度考虑数据的正确性、一致性、有效性等,如建档日期、入学日期、民族信息等。 6.9.1.6 标准约束 对照系统数据应符合的标准进行核对。 6.9.2 结果要求 6.9.2.1 规范性 数据的质量及存储标准应统一,源数据应在源头或备份表中能找到。 6.9.2.2 重复性 数据在字
19、段、记录内容或数据集内不应有重复值。 6.9.2.3 准确性 数据所指内容对数据所指对象的反应、表现应准确,数据形式对数据内容的表述、表达应准确。 DB52/T 1540.32020 9 6.9.2.4 完整性 数据集合中应包含足够的数据来响应各种查询和支持各种计算。 6.9.2.5 一致性 数据的一致性应符合以下要求: a) 同一个数据在同一时刻在不同数据库、应用和系统中应只有一个值; b) 数据字段内数据应与字段描述一致; c) 最终结果数据的统计量应与预测一致。 6.9.2.6 时效性 不同类型的应用对数据的时间特性有不同的要求,数据的时间特性应满足业务应用的要求,数据记 录应根据时间特
20、性及时更新。 6.9.2.7 稳定性 数据来源稳定,数据结果能支撑后续业务。 6.9.3 检验步骤 结果检验包括以下步骤: a) 按 6.9.1 规定检验清洗加工后的数据资源情况; b) 按 6.9.2 要求核对数据资源达标情况; c) 当数据资源未达到 6.9.2 要求,应返回再次进行数据转换; d) 当数据资源达到 6.9.2 要求,应进行数据加载或结束清洗加工。 6.10 数据加载 6.10.1 方式应匹配数据抽取方式,包含全量加载、增量加载,如海量数据、数据变化比较规律、变化 数据相对总量较小、业务系统能直接提供增量数据时,宜使用增量加载。 6.10.2 环境应能支撑相应数据。 6.1
21、0.3 工具应具有高效的加载性能。 6.10.4 策略应考虑加载周期和数据追加策略两方面内容。 6.10.5 加载应记录日志。 6.10.6 加载过程可根据实际操作情况至定义规则过程前进行。 DB52/T 1540.32020 10 A A 附 录 A (资料性) 典型业务数据转换规则表 典型业务数据转换规则表,表A.1。 表 A.1 典型业务数据转换规则表 转化规则 规则描述 将各类日期统一为八位的字符日期,如YYYYMMDD; 将各类时间统一为六位的字符时间,如HHMMSS; 统一时间日期数据格式 将各类事件日期统一为十四位的字符时间日期,如YYYYMMDDHHMMSS; 将人员的性别数据统一转换为国标性别信息代码; 将人员的民族数据统一转换为标准信息代码; 将人员的户籍地址数据统一转换为行政区划代码; 将人员的婚姻登记情况统一转换为标准的婚姻状况代码; 统一分类数据取值代码 将公民身份证统一转换为18位的身份证号。 _ DB52/T 1540.3-2020