1.日常增量处理
对于日常数据的增量处理有以下几种方法,如图7-49所示。
图7-49 日常数据的增量处理方法
(1)时间戳的方法
对于交易流水信息,可以采用时间戳的方式获取增量数据。
(2)自增长的序列号方法
可以通过设置自增长序列号的方式生成唯一主键。
(3)更改标记位方法
通过定义一个字段作为数据被更改的标识。例如,设置syn_flag字段,初始化为0,当记录被修改时,置为1。
(4)整表对比的方法
对于没有时间戳的增量数据,同时数据量又不大,可以采用整表对比的方式找出增量数据,如编码表。
(5)采用触发器的方法
在源系统数据表上建立触发器,当数据项发生变化时,记录到表中,但是对业务系统会有一定的性能影响。
2.数据初始化处理
从架构的角度来说,ETL初始装载和日常增量加载的策略有所不同,需要考虑以下几个方面,如图7-50所示。
图7-50 需考虑的因素
(1)对数据源的要求
对于ODS系统来说,面临的源系统可能很多,源系统需要提供初始化到上线时间点的完整信息。在ETL开发的同时,需要确保在规定的时间点内,ODS系统可以完成初始化装载。ODS系统在上线前需要将历史数据全部导入到ODS系统的物理表中。一些细节问题也需要考虑,例如在初始化装载前,应该先删除索引,再进行历史数据的加载,加载成功后,再重新创建索引。(www.daowen.com)
(2)初始化前的准备
在初始化之前,应该对历史数据进入到物理磁盘时的容量进行估算,可以先预留较大的空间,当初始化完成后再进行缩减。
(3)初始化过程中的监控
在数据初始化过程中需要进行监控,以保证该过程能够正常运行和对错误的记录。对于一些拒绝掉的文件,应该通过事后分析,以决定是否应该重新加载,或者采用手工录入的方式。
(4)初始化事后检查
当初始化完成之后,需要对数据进行检查,以保证入库数据的准确性,可以进行自动化统计,或者由业务部门进行核对确认。
3.错误处理与恢复
在ETL过程中,数据加载可能会出现各种错误,可以利用作业调度平台与监控系统对各种异常情况进行处理。
举例来说,可以在作业流程中设置异常条件,当错误记录超出一定阈值时,则需要转为人工处理。设计的原则是尽量采用自动的方式,同时根据实际情况,将自动化处理与人工处理相结合。
4.异常情况处理策略
ETL过程可能发生的异常包括如下几种:
1)因为硬件、操作系统或者网络等原因造成的异常。
2)目标物理模型的问题导致的异常。
3)因为人工干预导致的异常。
对ETL过程中的异常情况,我们应该采取哪些策略:
1)如果发生硬件、操作系统或者网络导致的异常,可以采取ETL中断处理,在系统运维人员通知故障排除后,分析造成的影响,通过手工干预的方式调整ETL过程。
2)当物理模型发生变更时,ETL将执行中断处理,当模型修改完成后,调整ETL程序,并重新进行处理。
3)生产环境应该建立合理的流程和规章制度,尽量减少人工干预的次数,降低因为人工干预造成的影响。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。