一个较为详细的ETL系统实现方案一个较为详细的ETL系统实现方案影响,清洗,监控,机构,汇率1ETL流程及调度设计(ETLSchedule)(PSP)1.ETL调度的目标快速见效系统要抽取39家分行四个系统的数据进行加工处理,数据从下传文件到ODS库,ODS库到LDM,再计算PI值和汇总PI,整个ETL处理过程需按一定步骤和满足某些条件进行,某些关键的文件如汇率数据、机构表等都会影响整个ETL的处理,因此,快速见效的ETL处理流程将是一个比较复杂的过程。考虑到将来 ETL处理的多样性和复杂性,引入了 Job的概念,将 ETL处理过程分为一个一个的Job,Job可能是清洗\加载\转换,也可能是 PI加工。为了对复杂的ETL处理过程更好的调度和监控,专门设计一个ETL调度系统。通过ETL调度系统的开发使用,将清晰、高效地通过Job调度的方式处理快速见效的ETL过程。2.ETL调度功能说明调度维护1)调度系统参数维护,对调度系统的公共参数:期数、进程数、数据日期、本期开始日期和本期结束日期进行设置和修改。2)下传文件信息维护,维护所有区域的下传文件名称、文件状态、文件数据日期和对应区域的归属关系。3)作业步定义与维护,定义作业对应的实际 ETL处理过程,生成作业编号,定义作业类型和作业的驱动关系,作业的运行所需要的条件。4)调度异常处理,对调度过程中出现的异常情况进行处理,提供错误查找、出错重跑功能。日志管理1)调度过程日志,管理记录调度中的主要过程和异常信息,如调度开始、调度完成、数据库操作异常和读写文件异常的日志。2)Job执行日志,管理记录 Job执行信息的日志,提供该日志的查询、删除和执行状态重置功能。3)Job详细事件日志,管理记录 Job执行中的详细事件(清洗记录条数、数据库具体操作情况)的日志,提供对日志的查询、删除操作。作业调度正常情况下的作业调度,对整个 ETL过程进行调度,提供分段提交处理和自动提交处理功能。可调度的Job类型1)C程序(清洗),ETL调度提供与 C程序的接口,从而可以对C程序进行调度。2)用 C封装的SQLLDR(加载),将 ORACLESQLLDR封装在 C程序中进行调度。3)PROC程序(合并、转换),对合并和转换过程,调度提供相应的接口,从而对ORACLE的PROC程序进行调度。4)存储过程(转换),将存储过程封装在 PROC程序中进行调度。5)DataStage(PI加工),调度系统提供了与DataStage的接口,可以对DataStage各个种类的Job进行调度。作业步(ETL_Step)的功能类型及数据处理0.文件FTP:将各个分行的源业务系统(NL...