ETL的错误在整个抽取、转换、装载过程都可能出现,对ETL常见的异常原因进行归类,大体上有五种情况:

ETL的异常原因总结及其处理方法

  (2008-04-28 16:12:34)
标签: 

etl

 

it

分类: 工作笔记

ETL的错误在整个抽取、转换、装载过程都可能出现,对ETL常见的异常原因进行归类,大体上有五种情况:


(1)硬件、OS、网络导致的异常:通常由外部环境造成的,并且往往是不可控的,主要关注以下几个方面
     网络中断:由于网络原因导致ETL中断,能做的就是重新装载;
     系统崩溃:ETL服务器不稳定,如果是非程序原因生成的崩溃,应进行重新装载数据;
     资源不足:对ETL处理大数据量造成资源耗尽而造成的ETL中断,应优化ETL过程后重新装载;
     连接故障:可能是开放给目标系统的时间窗没有按时打开、或外围系统本身的故障而造成连接异常,

               可采取反复尝试的方法;
    
(2)数据源数据的异常:包括源数据质量与传输,主要是数据源的变动造成的
     接口没有按照约定的数据周期进行供数:如在约定的周期,实际接口没有提供数据,应提交错误报告给接口方修正;
     数据源系统表结构或接口规格变动而没有同步:接口无法访问,建议对源表结构进行检测,一旦发生变化就终止装载;
     接口数据在约定的时间窗内没有完全获取数据:建设调大时间窗、优化ETL过程以缩短时间;
     接口数据内容不规范:源数据缺乏空值、外键等一致性检查,造成转换错误,建议在不影响数据逻辑的前提下

                         尽量最大限度接收而不是拒绝数据,并及时修正ETL过程进行适当处理。


(3)ETL过程处理导致的异常:主要是在ETL开发过程中产生的
     ETL规则错误:数据源到目标数据的映射关系的理解或表述错误,导致数据装载异常,
应修改规则并实现;
     ETL实现错误:在正解的ETL规则下,具体实现没有按照规则设计或出现细节疏漏,应重新修改实现并重新装载;

 

(4)目标数据模型导致的异常:主要是因为数据结构发生变更造成ETL不可用,针对这种情况,应能够检测到结构变更

                             并终止装载;
    
(5)开发、维护阶段人工干预导致的异常:原则上ETL不允许手工操作,但是有许多异常的处理却需要手工干预,

                                       所以不可避免会发生此类异常。为避免这类错误,首先要规范手工干预流程:
     限定手工干预只能运行某个流程,不允许运行单个过程;
     不允许使用临时的SQL语句操纵数据库,必须采用编写好的SQL脚本或存储过程;
     每一项手工操作必须留下操作记录;

猜你喜欢

转载自blog.csdn.net/xueshuai0922/article/details/80566374
今日推荐