基于电力行业数据清洗转换的过程方法分析
2018-02-14田青松
刘 军,周 明,王 筠,田青松
(1.国网安徽省电力有限公司信息通信分公司,安徽 合肥 230009;2.合肥恒卓科技有限公司,安徽 合肥 230088)
1 源数据获取
1.1 过程说明
源头数据收集的过程,包括溯源、沟通、申请和落实等过程,是数据获取的前提。
1.2 输入输出
过程输入:数据需求清单、数据接入方案、安全保密协议、数据使用申请、接口开通申请、接口方案。
过程输出:业务部门、科信、信通公司、确认的数据接入方案、接口开通方案、源头数据、日志文件。
1.3 过程重点
完整性:应及时获得完整的源头数据。首先是项目组协同业务部门梳理完整的数据资源需求清单和数据字典;其次要获得信息和业务主管部门的授权和认可。
1.4 难点分析
及时性:要保证数据提供的及时性。数据清洗转换工作牵涉源头系统多,涉及业务面广,让各源头系统和部门能在规定时间内将数据提供齐全,是数据收集过程需要重点关注的工作内容。为保证数据提供及时性,实施组织及关联组织应出台配套措施,例如事前商榷,责任到人,事前提醒,事后考核的过程管理办法。
安全性:要确保信息安全。安全保密是公司全体谨记的防线,没有安全保密措施业务部门不会提供数据,安全保密不到位,数据使用单位、人员都会受到责任牵连。因此,在数据申请之前,就应对安全措施进行梳理和落实。例如宣传和落实禁止数据外传、工作落实责任人,明确数据使用人员、查询人员,签订安全保密协议等。
1.5 问题剖析
1.5.1 数据准备入问题
数据获取过程中,问题主要集中在组织和沟通方面,组织得当,才能保证数据收集流程顺利进行。而组织和责任落实方面,仅依靠项目组难以推动,必须梳理明确的数据需求清单,提交项目管控组,组织溯源会议,将工作项落实到相关部门和团队,并指定负责人;再辅以必要的业务数据使用申请,请相关管理部门授权(签字、盖章)。申请由数据收集部门发起,源头业务部门授权,科信和信通签批。
1.5.2 信息安全问题
需要特别关注的是数据安全保密的问题,尤其是安全级别要求高的数据,项目组在溯源获取之前,应先结合国网安全保密要求,列举安全保密措施,例如在数据传输途径方面禁止一切外接和外传,人员安全保密要求方面,将安全保密要求在相关单位、部门、责任人方面逐层落实,提供明确的管理办法并严格执行。
2 数据清洗
2.1 过程说明
数据清洗需要对获取的源头数据先进行初步筛查,通过目测手量加经验的方式快速剔除非达标项,通过沟通、确认等方式从源头获取质量更高的数据;再通过技术手段,依据数据主键唯一性约束、数据关联约束、数据完整性约束等条件,排查逻辑和结构异常的数据;还要结合业务规则,对违反或与实际明显不符的数据进行甄别和排查。
2.2 输入输出
过程输入:源头数据、日志文件、数据需求清单、数据字典。
过程输出:可入库的源头数据、入库数据清单、数据字典。
2.3 过程重点
数据清洗过程的重点工作内容是快速甄别源头数据的可用性、真实性、完整性,从而保障获得的源头数据是可以被后续过程使用的有效数据,促进后续流程顺利开展。
2.4 难点分析
数据清洗过程的难点是对数据甄别手段的掌握和应用。在电力行业有经验积累的团队成员,依据其所从事或分析的专业,大多能快速的按照步骤逐一识别源头提供的文件是否满足要求,但其经验应用于文件的甄别,有一个度的把
控的问题,这个主观性较强,所以一方面需要不断地经验积累,另一方面则需要借助技术手段快速甄别。
2.5 问题剖析
2.5.1 DMP数据文件导入问题
数据清洗过程中基本都会遇到数据库版本不一致的问题,例如安徽公司ERP系统使用的数据库是Oracle10.2版,而数据归集目标库用的是Oracle10.1版,对于这种高版本向低版本导入的问题,源头导出的DMP文件是不能直接在目标库导入的,所以在数据导入目标库之前需要做转换处理。先在测试环境安装与源头版本相同的数据库,将DMP文件导入其中,再通过与目标库相同的客户端导出该数据文件,通过转换后的DMP文件才能成功导入到目标库中。
DMP文件导入之前,需要先对导出用户、导出表空间信息进行必要的调查,在用户不一致、表空间不一致时数据导入时会报错,或不能成功导入。因此需要随DMP文件一起收集数据库导出日志文件,通过日志文件对导出的数据文件信息做好充分的了解,为数据导入目标库做好充足的准备。
2.5.2 EXCEL数据问题及常用解决办法
对于源头提供的EXCEL文件,由于其文件内容可编辑,对这部分数据在导入数据库之前则需要更仔细地检查。
(1)EXCEL中特殊格式问题及处理办法。例如经常会出现在EXCEL中的格式字符、空格字符看不见,但真实存在。此部分内容导入数据库后会对数据的有效性、准确性产生一定的影响,所以入库之前,对重要字段,特别在后期转换过程中需要用于关联的,用于计算的字段进行必要的处理。通过Trim和Clean函数去除空格等特殊字符的用法。
(2)EXCEL中对筛选后的表进行复制粘贴的问题。EXCEL2007以上版本,在筛选结果集中复制数据粘贴到新表时,会将过滤掉的数值带上,这时需要在复制之前设置定位条件。
以EXCEL2010版为例,在功能区选择开始->查找和选择->定位条件,然后在表格中框选需要复制的数据,到目标表格中进行粘贴。
(3)EXCEL设置条件格式。EXCEL中对部分数据需要区分显示,例如正常区间段的显示绿色,超出正常值的显示成红色,可以通过设置条件格式进行显示。以EXCEL2010版为例,将发电量数据设置成100~10 000之间显示为绿色,小于100显示黄色,大于10 000显示红色。菜单路径开始->条件格式->管理规则(或新建规则)。
(4)EXCEL中数值型数据显示长度的问题。EXCEL中数值型数据只能显示16位,超过16位时会自动转换成科学计数法显示,16位以后的数据显示成0。对于数字型数据,例如编码,在导入前需要将单元格格式设置成文本类型并防止数据丢失。
3 数据转换
3.1 过程说明
数据转换是指将清洗后的数据按照数据转换规则,将数据导入到按约定规则创建的标准表中。
3.2 输入输出
过程输入:清洗后的可用于转换的源头数据,数据清单、数据字典、检查清洗记录、问题记录。
过程输出:转换后的标准表、转换日志、表清单、数据字典、补充的问题记录。
3.3 过程重点
数据转换过程的重点是转换效率的不断提升,需要经过异常问题处理的经验积累,不断提升数据清洗转换效率。
3.4 难点分析
转换的结果是否被用户认可,结果是否可用需要甄别和鉴定,需要通过数据核查行验证。
3.5 问题剖析
数据转换过程通过率不仅反映了转换方法适用性,也反映了源头数据收集、数据清洗处理、数据检查阶段工作的成效。在数据清洗转换的初期,需要工作流程中各阶段的不断磨合和提升,磨合的过程也是发现问题解决问题的过程,我们将问题划分为3类:(1)数据质量;(2)转换方法适用性;(3)操作过程熟练度。
3.5.1 数据质量问题
数据质量的提升,需要从源头入手,保证源头提供真实完整的数据,然后在检查过程中回溯反馈,依据实际情况逐项反推,促进源头提升。在整个协动提升过程中,工作推动靠实施组织,问题解决过程是传动纽带,沟通办法,技术手段,数据检查规则是整体协动的抓手。提升过程也是围绕目标解决问题的过程,问题记录很重要,特别是在试用初期,一定要建立问题清单,所有问题逐项解决,才能扫清转换过程障碍,提升转换通过率。
3.5.2 转换方法适用性问题
在转换方法适用性提升方面,需要实施团队对转换规则进行充分的学习、梳理和理解;掌握了转换规则,才能在出现异常时准确定位问题所在,有针对性地提出意见建议,促进功能、性能优化,推动转换方法适用性不断提升。
3.5.3 过程操作问题
转换方法实施的过程也是不断学习,不断研究,从陌生到熟练的过程。例如转换方法执行时,操作人员要及时了解过程中反馈的信息,在数据量大时,也可间隔一段时间后再查询操作日志,如果转换数据出现错误或者时间过长,则要查看具体数据库运行状态和报错情况,根据报错和问题原因进行优化和调试。
4 结语
统一数据归集操作入口,使数据归集工作更为规范化,同时固化了大量自动化数据转换脚本,原先数据转换多人分时段进行,跨度大概需要24~48 h,经过流程梳理,优化过程方法,使整体耗时减低到4 h 11 min,大幅度地提高了数据转换的效率。数据整体归集时间由原先的3~4 天,压缩到2~2.5天,取得了较好的效果。另外,实现了数据统一归集、集中清洗、批量转换的理念和方法,规范了数据归集操作,压缩了数据归集工作周期,通过清洗转换的数据也必然会为后续数据挖掘和分析提供更整洁精简的数据资源支撑。