落标与清洗
由于部门资源库表由各部门维护,可能会存在相同数据结构不一致等状况(例:国标姓名长度为 30,部门可能存在长度过长数据),故需通过标准定义为部门资源库表配置数据元并基于数据元为其生成标准表。
不同部门的业务库,字段规则并不统一,要形成统一的库,就必须要指定统一标准,此时便可借助数据定义,规范字段的中文名、关联标准的数据元,如果字段是代码项的也可以关联代码项,帮助管理员建立有统一标准的标准表。
默认按数据元生成标准表,默认的标准表名格式为 S_ST_{@dept}_{@table},{@dept}与{@table},分别代表部门简称及原表名。比如人口信息表生成的标准表为 S_ST_XTGLB_t_rk_baseinfo。
构建完标准表后可通过清洗定义将部门资源库表数据交换到标准表,在这个过程中,可以处理掉一些较为明显的问题数据,例如人口基本信息中家庭住址存在特殊字符需替换掉,婚姻信息中注册时间不符合标准时间格式 yyyy-MM-dd hh:mm:ss 需做时间格式转换,人口基本信息中身份证号码 idcard 不符合身份证号码规范需过滤掉这些错误数据等等。
清洗定义中清洗规则为已知异常数据及处理方式,直接对数据进行处理,来源与目标数据量一致。
清洗定义中过滤规则将错误数据过滤掉,目标表数量可能小于来源表数量,对于这些质检产生的异常数据,通过质检工单形式告知部门,进行修正,中心无法直接处理这些数据,故需告知部门整改后在下个批次识别为增量数据进行同步。
有了人口库标准表后,对于原业务库中不符合标准规则的数据进行处理即数据清洗,标准表生成成功后,通过配置修复规则对贴源层数据简单修复、值处理等操作和通过过滤规则将不符合规则的错误数据过滤掉从而形成数仓中的标准层数据。
比如对人口信息基本表的标准表 S_ST_XTGLB_t_rk_baseinfo 的电话号码 telephone 字段配置电话规范检查,即可将不规范的电话号码的数据过滤掉,对血型字段 bloodtype 配置修复规则-大小写转换,将血型字段全部转为大写,对地址字段 address 配置去除空格规则,将该字段的数据去除空格。