基于风电数据仓库的ETL技术研究

来源 :中国电力教育 | 被引量 : 0次 | 上传用户:cnlhong197416
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:作为数据仓库的关键部件,支持数据抽取、转换和装载的ETL工具是一个必不可少的成功因素。以风电数据仓库为背景,介绍了数据仓库ETL的必要性、ETL流程,重点提出了一种ETL工具与自行编码相结合的ETL实现方法。针对风电海量数据的特点,通过优化过的ETL技术,大大提高了风电信息系统的运行效率。
  关键词:数据仓库;ETL;数据抽取;数据转换;数据装载
  作者简介:张宁(1986-),女,山东莱芜人,中能电力科技开发有限公司,工程师。(北京 100034)
  中图分类号:TM614 文献标识码:A 文章编号:1007-0079(2013)33-0229-02
  目前,风电行业信息化迅速发展,多种信息系统得到了开发和应用,如风电生产运行实时监测系统、风电场功率预测系统、风电机组故障诊断系统等,但它们都是针对某一特定应用用途的,数据单一,而且风电业务数据具有数据量庞大、数据格式复杂等特点,这些无疑限制了风电信息化中数据分析和决策支持的应用。而这时,数据仓库出现了,通过将来自各个数据平台的格式多样的数据进行抽取、转换和装载,即ETL过程,建成一个符合系统功能需要的相对统一集成的数据仓库应用体系,为各个风电业务信息系统提供高质量的数据分析和决策平台。ETL性能的好坏对数据仓库乃至整个系统的运行和效果有着直接而巨大的影响。
  一、ETL技术简介
  数据ETL是由数据抽取(Extraction)、数据转换(Transformation)、数据装载(Loading)三部分组成,是构建数据仓库过程中必不可少也是相当重要的一个环节。[1]
  1.运用数据仓库ETL技术的必要性
  数据仓库的建立是风电信息化系统实现的基础。在风电业务管理中,业务人员希望能有一个独立集成的数据环境容纳各种从外部不同的数据存储媒介或者外部文件中提取汇总的业务数据,但这些数据是大量的、分散的、冗余的,差异主要表现为以下几个方面:
  (1)数据所存储的数据环境不同。主要指运行同一个业务系统的不同主机所部署的操作系统不同,硬件平台不同,或者采用的业务数据库不同。体现在风电业务中,例如运行在不同地区的风电项目公司或者风电场的同一个信息系统,有的采用关系型数据库,如SQL Server、Oracle、PI等,还有的仅使用了简单的文件型数据库,如Access、Foxpro等,这就造成了数据所在环境的差异。
  (2)数据格式不同,即对于同一个数据对象,所采用的语义表达、命名方法、编码规范等方面,存在着差异或者冲突造成的不一致。
  这些问题加剧了待转移数据的复杂性,给风电信息化系统数据仓库的建立带来一定难度。而这时ETL过程在很大程度上可解决这一难题。数据ETL就是要解决源数据各方面的不一致性,从各种外部纷杂的风电业务系统中提取风电业务数据和基础数据,按照设计好的规则对这些数据进行必要的清理和转换,完成二次数据的加载,从而形成一个清洁、一致的数据仓库环境。风电数据仓库建立完成之后,即可在这些加工好的数据基础上进行进一步的数据分析和挖掘工作。因此ETL不仅是数据仓库建立过程中极其必要的一部分,也是极其复杂的工作。[2]
  2.ETL方法和流程
  数据ETL的实现可以有多种不同方法,主要可以归纳为以下三种:
  (1)直接调用数据库自带的ETL模块。例如SQL Server、Oracle、OWB等数据库都有自带的方便操作的ETL工具,使用自带ETL工具可以避免大量的代码编写工作,快速建立起 ETL工程,较为容易。但在风电业务这种海量实时运行数据的处理过程中,这种人工干预过多的方法,显然在灵活性方面缺少了优势,不能自动完成数据的抽取,效率较低。
  (2)自行编写代码完成ETL过程。这种从实际需求出发实现的ETL过程具有更强的灵活性。但同时这种自行编码的方式也相对更繁琐、复杂,花费开发人员更多的时间和精力,而且通用性不高。
  (3)上述两种方式相结合的方法。它综合了人工和智能两种方法的优点,在满足实际需求的基础上,充分调用数据库系统自带的ETL方法和过程,既具备灵活性,又极大提高了 ETL的开发速度和使用效率。
  针对风电的业务特点——数据是海量的、实时更新的,更是分散的、异构的,本文采用第三种方法完成风电数据ETL过程,即在数据库自带的ETL工具基础上,通过自行编码,实现风电业务数据从各个数据源端抽取到数据准备区临时存放,在临时数据缓存中进行数据的清理和转换之后再装载进入目标数据仓库存储区的过程。具体的ETL实现流程如图1所示,其中风电业务数据主要包括各风电机组机组实时运行数据,如风速、风向、有功功率、无功功率、发电机转速等,文件数据主要指风机基础数据,例如机型、机组容量等。
  二、ETL实现的关键技术
  1.数据抽取
  数据抽取是ETL过程的第一步,实现的是从不同类型数据源中将业务系统所需要的数据集中到一个临时数据准备区中的过程,从而为下一步的数据清洗和转换提供优质的数据基础。对于风电业务信息系统所涉及到的海量数据,由于之前介绍的数据的复杂性和异构性,需要针对不同的情况采用与之相应的数据抽取策略:
  (1)源数据库系统与数据准备区数据库系统相同时,可以采用简单的批量加载程序或者SOL语句、存储过程等将数据库简单地导入即可。
  (2)源数据库系统与数据准备区数据库系统不同时,开发人员可以自行编写程序,对于不同类型的源数据库建立特定的数据接口,实现与数据准备区的连接。用户通过在交互界面中选择相应的信息,调用程序中建立起来的不同类型数据库的具体实现类,完成连接配置,连接到源数据库中。完成数据库之间的连接之后,用户登录源数据库,选择所需要抽取的数据字段,然后选择目的数据库,提交信息即可完成所选数据的转移。   (3)当数据源为文件型的数据时,例如风电场基础数据存放于风电信息系统内部的文件服务器中,可以利用数据库工具如Oracle的SQL*Loader,调用源数据文件和定义输入数据格式、输出表的控制文件,产生包含日志、坏数据、丢弃数据和所需数据的输出文件,从而完成数据的抽取。
  2.数据转换
  数据抽取过程之后,数据准备区中已经有了系统所需要的初步数据,但这时的数据只是相当于简单从源数据库“复制而来”,必须经过“二次加工”,即严格的数据清理转换过程才能转换成为系统最终需要的数据格式。数据清理主要是找出并且消除错误数据,也就是“脏数据”,得到处理后的“干净数据”之后,再经过数据转换过程,最终得到待装载数据。图2反映了基本的数据转换流程。
  (1)数据清理。对于数据准备区中由于拼写错误、不同命名习惯、不合法值造成的脏数据,可以采用数据库自身函数,或者自行编写函数与存储过程完成清理。特别地,对于空值,可以采用推导的方法,即采用数据库自身函数,如avg、mid、min、max或者概率统计函数推导出缺失的空值。
  (2)数据转换。数据转换比数据清理要采用更多更复杂的方法和技巧,数据转换在数据ETL过程中是最重要的一步,是真正将源数据变为目标数据的关键环节,数据转换包括数据的合并、汇总、过滤等数据转化和数据的重新格式化计算。根据难易程度可以分为字段级的数据转换和复杂数据转换两种。前者包括简单变换、参照转换、字符串处理、日期转换、日期运算、字段值合并、字段值拆分等;复杂数据转换包括制定主数据源、计算衍生数据和计算概况数据。
  3.数据装载
  数据装载就是将清理之后的临时数据缓存中的数据装到已经设计好的数据仓库中的过程。图3为本文风电业务数据装载过程的策略流程图。
  数据装载包括初始数据装载和增量数据装载两部分。[4]
  (1)初始数据装载包括维表的装载和事实表的装载。除了自动维可以由OWB工具自动生成维数据之外,用户需要自行设计并装载系统中无法得到的维数据,称之为手工维。事实表在装载时,首先必须完成与该事实表外键相关联的维表的装载,否则,无法完成事实表装载。
  (2)增量数据装载是在初始数据装载完成之后,定期对数据仓库进行数据更新的操作,又可叫做数据刷新。[5]
  对于维表的增量数据装载,以风电机组基础信息为例,当风电场增加一台风机时,需要在系统中增加装机容量,这个时候就要对装机容量维进行更新也就是增量数据装载,可以采用PL/SQL中的游标实现这一功能。
  对于事实表的增量数据装载,也需要考虑事实表之间刷新的先后顺序。但由于事实表数量巨大,需要在刷新时注意提高准确性和效率,对事实表进行分区或者正确使用PL/SQL中的索引策略是一个比较有效的解决办法。
  三、结论
  本文重点研究了针对风电信息系统下大量业务数据的ETL过程,在现有ETL工具的基础上,通过编码设计了一种新的ETL实现方法,实现了海量风电业务数据的自动抽取、清理和装载。通过该方法所实现的ETL过程,更加安全、准确、高效,从而为风电信息系统海量数据的高质量集成提供了很好的支持,为进一步的数据分析和业务决策提供良好的数据基础。
  参考文献:
  [1]张宁.电厂机组综合评优系统的设计与研究[D].北京:华北电力大学,2010.
  [2]冯春辉.基于ELT技术的数据仓库系统建立的研究[J].制造业自动化,2010,(10).
  [3]张亮.基于数据仓库的银行数据提取与应用研究[D].南昌:江西师范大学,2008.
  [4]常艳丽,李一凡,赵怀慈.基于银行数据仓库的ETL系统的设计与实现[J].微计算机信息,2006,(24).
  [5]付中伟,张浩,陆剑锋.面向数据仓库和数据挖掘的ETL设计与应用[J].微型机与应用,2005,(24).
其他文献
【摘要】目的 探讨维生素E(Vit E)拮抗β淀粉样蛋白25-35(Aβ25-35)对神经细胞株SH-SY5Y的损伤,即Vit E保护神经细胞的机制。 方法 采用流式细胞法、反转录RCR法研究Vit E对SH-SY5Y细胞的保护作用及机制。 结果 对照组细胞凋亡率为(3.60±0.37)%,Aβ25-35处理组细胞凋亡率为(39.15±3.14)%,Vit E和Aβ25-35处理组细胞内Ca2+为
目的 研究小干扰RNA(siRNA)抑制耐药乳腺癌细胞系MDR1基因表达的可行性.方法选用耐阿霉素人乳腺癌细胞系MCF7/ADR及其药物敏感细胞系MCF7作为研究对象.将预先设计的siRNA包装入质粒载体,然后转化质粒到大肠杆菌中,经过克隆、扩增、纯化后转染到MCF7/ADR细胞中,100mg/L潮霉素筛选2周,用流式细胞术从蛋白水平检测P-gp的表达率,及作实时定量聚合酶链式反应从基因转录水平检
患者 ,男 ,1 6岁。出生后即伴有发绀及心脏杂音。近来因心悸、气急加重而入院。超声心动图示右房扩大 ,三尖瓣下移 ,房间隔缺损 ,功能性右室重度缩小 ,左心扩大 ,左室腔内附
摘要:针对目前各地区配电网在改造过程以及建设中的发展情况,详细分析了对配电网改造的具体要求,以及建设中应注意的问题,并提出了配电网建设的发展趋势。  关键词:配电网;改造;可靠性;自动化  作者简介:张辉(1973-),男,河南南阳人,河南省电力公司技术技能培训中心南阳校区,高级讲师。(河南 南阳 473009)钱怡(1977-),女,河南南阳人,河南南阳供电公司,工程师。(河南 南阳 47300
摘要:目前火电仿真机只对集控室人员进行培训,而忽视对现场巡视人员的培训。特别是全能巡检岗位,在此岗位运行人员必须要有丰富的汽机、电气、锅炉三个专业运行经验及理论知识。采用理论结合实践的方法,提出利用仿真机对全能巡检进行培训,总结了仿真机、仿真指导教师、对全能巡检培训重视程度三个方面的问题,进而提出相应的解决对策与建议。通过实践应用表明,利用火电仿真机对多个300MW、1000MW火力发电厂的运行人
摘要:近年来,电力系统的无功、电压在线集中优化控制已经成为研究和应用的热点,但是目前尚缺少对其有效性进行系统评价方面的研究。介绍了电力系统无功电压优化控制的目标函数及其约束条件,构建了无功电压优化控制技术的评价指标体系;基于北京顺义地区的无功电压优化控制系统的运行实践,评价了无功电压优化控制系统对区域电网运行性能的改善。结果表明无功电压优化控制系统能够有效提升电力系统的运行性能。  关键词:区域网
目的探讨慢性阻塞性肺疾病(COPD)患者类糜蛋白酶(chymase)活性,类胰蛋白酶(tryptase)、白细胞介素8(IL-8)、嗜酸粒细胞趋化因子(eotaxin)水平和中性粒细胞(NEU)、嗜酸粒细胞(EOS)计数的相关性及临床意义.方法老年COPD患者73例(重度21例、中度21例、轻度31例),采用双抗体夹心酶联免疫吸附测定,检测诱导痰IL-8、eotaxin水平.在Uni CAP 10
摘要:防误闭锁对于变电站的安全稳定运行至关重要,随着近些年电网规模的不断扩大,对变电站的防误闭锁系统可靠性提出了更高的要求。论述了常用闭锁方式的工作原理及特点,并结合实例,介绍了五防系统在变电站综合自动化中的应用情况,指出主要设备防误闭锁功能的实现过程和防误效果。  关键词:变电站;防误闭锁;微机闭锁;五防系统  作者简介:邓伟明(1975-),男,广东广州人,广州穗明工程总承包有限公司经营管理部
摘要:随着低压配电网络中三级剩余电流动作保护系统的广泛应用,有些供用电单位存在着对保护器运行管理不规范,导致剩余电流动作保护器拒动、误动、越级跳闸等故障的发生,严重影响了用户的正常生产、生活用电。为了保证工作人员准确判断出剩余电流动作保护器跳闸的原因,快速地恢复供电,提升他们现场解决问题的技能,就剩余电流动作保护系统的培训进行了智能仿真设计,能够满足配电运行与检修人员的技能培训需求,提高其业务技能
摘要:介绍了四川东方电机股份有限公司生产的某600MW氢冷发电机转子故障情况,分析了该型号发电机在运行及检修中出现转子滑环碳刷电流不均匀,转子绕组匝间短路,转子护环内绝缘块脱落,转子气密试验不合格等故障的原因,并对其分别提出相应的处理方案和防护措施,对同类型发电机转子故障处理有一定参考价值和借鉴作用。  关键词:600MW发电机;转子;滑环;故障;匝间短路  作者简介:王玉炯(1967-),男,山