- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上海农商银行ODS项目 ETL流程设计 当前版本:V1.0 版本日期:2010年1月29日 文件信息 文件标题 ETL作业流程设计 项目名称 上海农商银行ODS系统 项目经理 项目管理阶段 编写人 编写日期 2009-11-12 修订记录 日 期 版 本 修订描述 作 者 2009-11-12 V0.1 ETL流程设计,细节尚待讨论 陈刚 2009-11-21 V0.2 按照实际情况修改部分流程设计 陈刚 2009-12-2 V0.2 更新作业样例、SEQ JOB封装、标准化实现、ETL调度策略 陈刚 2009-12-10 2010-01-31 v0.1 更新文档 陈刚 目 录 1 ETL流程 4 2 ETL作业设计 5 2.1 ETL作业样例 5 2.1.1 ODM-SDM层 5 2.1.2 SDM-FDM层 5 2.2 代码标准化 8 3 ETL 加载策略 9 4 ETL调度 10 4.1 调度的组成 11 4.1.1 调度模块 11 4.1.2 DB2数据表 12 4.1.3 调度流程 15 ETL作业流程设计 ETL流程 按照目前的规划,ETL流程简单概括如下: 源头业务系统将数据卸载到文件,通过FTP方式上传至ETL服务器指定目录,供ETL环节使用 在拿到数据之后,ETL环节首先检查数据的完整性,确认无误后开始调度相关作业 数据校验完毕后,对文件内容进行预处理,剔除文件中可能包含的逗号、双引号以及回车换行等字符 数据经过ODM(文件)-SDM(DB)-FDM(DB)三层,在相关ETL作业中被转换、清洗,最终生成目标需要的数据 在数据进入FDM层后,将向ALM供数,载体为文件 其中: 检查数据完整性的部分由shell或C程序完成,当一张目标表对应的所有文件均确认无误后,开始对文件进行预处理,预处理完毕后,调起相应DS作业 ODM-SDM的文件与数据表是一一对应的关系,而SDM-FDM会存在多张SDM表映射到同一张FDM表的情况,因此需要设置一定的依赖关系。 按照FDM的每一张目标表为基准,将所有有依赖关系的作业,,即:假设当ODM-SDM的a、b、c三张表的ETL作业完成后,已可满足FDM中X表取数的需求,针对X表的SDM-FDM作业即开始执行。 容错机制 FDM数据处理完毕后,即可向ALM供数,此部分独立于ODM、SDM、FDM层之外 ETL作业设计 ETL作业样例 ODM-SDM层 作业样例: 图2.1: ETL作业样例ODM-SDM 图2.1中各编号对应的含义: :Sequential file stage:源数据接口文本文件 :Sequential file stage:无法正常抽取的数据 :Transformer stage:对正常抽取出来的源数据做预处理,为数据标准化做准备 :DB2 stage:标准化代码对照表,获取新旧代码对照信息 :Filter stage:对标准化代码按类别进行分流 :Lookup stage:各分流后的数据与源数据相应的字段进行匹配,获取标准化代码 7:Transformer stage:主要转换stage,对源数据值做数据转换并映射到目标字段:DB2 stage:转换完成的数据,选择相应的入库模式加载到目标表。Sequential stage:文本文件SDM-FDM层 作业样例如下图: 图2.2: ETL作业样例SDM-FDM ’2999-12-31’的数据。 在实际的DataStage Job设计中,插入新记录的方式我们使用load可适当提高数据写入性能,但是考虑到其并行处理的机制,load需要锁表,因此必须将update和load分开操作,所以,我们在设计中,将JOB拆分成两个,一个负责update,一个负责load,然后在调度依赖关系表中配置它们的先后执行顺序,即可实现功能需求,又可提高执行效率。 作业样例如下: update过程: 使用Upsert方式,需要用户自定义SQL,并在where子句中加上生效日期小于当前业务日期(即非当日增量数据)、且终止日期等于’2999-12-31’(即有效记录)的判断。 load(Insert过程) 使用load方式需要注意: Write Mode = Append (数据使用追加方式) Non-Recoverable Transaction = True (归档日志模式下防止load锁表空间) Use ASCII Delimited Format = True (对变长文件使用ASCII分隔符) 代码标准化 在图1所示的ETL作业流程中:源系统和ODS的特定代码都统一在ODS内进行
文档评论(0)