ETL技术规范通用_第1页
ETL技术规范通用_第2页
ETL技术规范通用_第3页
ETL技术规范通用_第4页
ETL技术规范通用_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ETL技术规范(通用)LTETL技术规范第1章,ETL设计规范ETL设计规范主要应用于ETL编码的前期工作。由于ETL全过程是面向数据 的,主要工作为数据的抽取(Extract)转换(Transform)、装载(Loading), 正确界定所涉及到的数据范围和应当应用的转换逻辑对于后续的编码工作非常 重要,这些数据关系的确定,我们称之为Mapping (数据映射)。正确定义数据映射关系是ETL成功实施的前提,一个完善的Mapping应该 包含以下几个部分:1.1源数据集属性此部分应该详细描述数据源的相关属性,包括:实体名称含数据来源名称(DSN)、所有者等信息;字段名称英文名称;字段简述一一中

2、文名称,如为参数信息应该有相关取值解释,如性别字段 (1:男;2:女;0:不详)类型一一字段类型,含长度和精度信息;非空属性一字段是否可以为空;数据源表表名字段说明字段名称字段类型ICInventory物料IDFltemlDinteger批号FBatchNovarchar(255)仓库标识FStockIDinteger存货数量FQtydecimal (28J10)存货余额FBaldecimal (28,10)仓位标识FStockPlacelDinteger保质期FKFPeriodinteger生产日期FKFDatebinaryL2目标数据集属性此部分应该详细描述目标数据集的相关属性,包括:实体

3、名称含数据来源名称(DSN)、所有者等信息;字段名称英文名称,建议根据字段含义来命名,而不是简单用拼音来 定义字段(此部分由负责设计数据集的人员控制);字段简述一中文名称,对于保留字段应该给出默认值;类型一一字段类型,含长度和精度信息;非空属性字段是否可以为空;序号字段者文字段名称字段关里至娓取值说嘲1糜IDFInterlDintegerTRUE数据库中己垓定 义了标识字段, 不需要去信2数据来源4atasaurcetinyint根据数据源来对 应相应的值,见 说明一3物料IDFI tetnIDinteger直接COPY4或得FBatchNavart:har i_2E5)直播COPYE栓库标识

4、FStockTDi TTtBgFrr官辖COPY6存货数量FQWdeci nail 28.10)苴卷COPY7存贷余领FBaldecimal (2a 10)直接COPY£仓位标识FStockPlacelDinteger直榜COPYg保质期FKFPeriodi iTtBgfTT有楂COPY10生产日期FKFDatedaietiine1.1 ETL规则主要描述ETL各个环节的转换规则,包括:数据源过滤规则一一描述从源数据集获取数据过程中过滤掉记录的规则;关联规则一一当源数据集为多个时,描述相互之间的关联关系;列转换规则一一描述源数据集到目标数据集的字段间的转换规则;此规则 非常重要,要清

5、晰描述字段间的逻辑关系,包括业务逻辑;目标数据集更新规则一一描述目标数据集的更新策略,包括更新机制和更 新频度,如“每日全量更新”、“每周增量更新”等;ETL作业列表一一由于ETL所开发的作业之间包含一定的业务逻辑和编码逻 辑,所以调度过程中应遵循一定的逻辑顺序,此部分主要用来明确调度的顺序, 包括:作业名称一一实现Mapping的作业名称,包括该作业功能描述;调度顺序一一用序号或者是流程图模式描述作业的调度顺序,需要综合考 虑业务逻辑、编码逻辑以及系统资源等多方面情况,在保证业务逻辑和编码逻 辑的基础上,通过控制调度,最大限度地合理利用系统资源;St eplStep 2Step 3Step

6、4Sttp 5Stftp 6CCYCLCL_SCMCMLMSR_PRD1FDFDJUSTIFIPJJISTOUoujestPD_HLPROU_K_OUOU_X_IFARAR_HISTAR_X_IPIXM/TOIJVAR_TJiN_SJfYAR_BALODD/AR_BAL_EVNCWL_i_SMYAR_SMYAR_PFT_A1ILcst_pft_anl参数列表一一列举每个作业中所使用的参数,不同作业中的相同参数最好 使用相同的名称,便于调度时进行控制。第2章.ETL开发规范ETL项目的开发往往是多人团队开发模式, 由于周期较长,期间难免会出现 开发人员交替现象。无论是开发过程中的人员交替还是从开

7、发到系统运营之间 的转换,都需要良好的交接。为保证项目开发各个时期的平稳过度及顺利交接, 在开发过程中,应该遵循一定的开发规范。主要包括:命名规范结构规范代码封装规范2.1 命名规范2.1.1 作业命名规范ETL是一个复杂的工作,数据仓库的建设一般会花费70%以上的工作量在ETL上面,而且这是一个细致活,任何一点小的错误都有可能造成后续工作的出 错和失败;止匕外,数据仓库需要不断的更新维护,相应的ETL程序也需要进行相关的更新维护,所花费的成本也很大。一个好的命名规范,能够使 ETL的程序更清晰易懂,很好地避免了开发过 程中出错;同时更好的可读性,也极大地减低了 ETL程序的更新维护成本。作

8、业命名规则:JOBTYP曰DESCRIPTION北SEQNUMJOBTYPE作业类型DESCRIPTIO N有效的描述信息SEQNUM作业的编号。由于一定的原因,有可能需要拆分作业数据多次加 载数据,这个编号就可以区分加载。如果一次加载可以成功的话这个编号就不1W - 4 o2.1.2 作业内部命名规范对于作业内部命名,应该遵循代码的可读性与可传递性原则,命名规则:FunctionDescriptionFunction :表示用途,Ex:抽取,Create:创建,Ld:装载,Lookup:查找等 Description :有意义的描述,比如数据库表名,文件名等。2.1.3 作业注释规范ETL开

9、发过程往往要经历一个较长时间段,为了便于团队开发和后期维护, 除开发设计文档要齐全外,还应该在作业设计界面中适当加注释信息,主要包 括作业功能说明、所属模块、开发时间、开发人员等信息。2.2 结构规范2.2.1 作业目录组织结构对于ETL PROJECTS言,我们需要划分清晰的目录结构,根据一定的规则将作业组织起来,这样无论是对 ETL设计人员,运行人员,维护人员,都有很 大的帮助。目录结构划分遵循以下原则:1. 体现作业的依赖关系。2. 体现作业功能。3. 独立放置二次开发作业。2.2.2 模块化结构ETL按照处理逻辑分为 E阶段(Extract )、T阶段(Transformer )和L阶

10、 段(Loading)。E、T、L阶段可能分处不同的服务器上,需要跨网络运行,他们 之间的配置情况可能存在较大的差异,而多数ETL设计的处理机制是串行运行机制,基于数据行处理。如果 E、T、L的过程同时运行,那么整体的处理能力 应该是三个环节中效率最低的那个环节的处理水平。如果我们将三个环节的设计分开,实行模块化流程处理,即E环节、T环节、 L环节均设计成可独立运行的模块, 那么在整个处理过程中,将可以最大限度发 挥功效,不会因为用性处理机制而相互制约。另外,模块化的流程设计,对于开发阶段的调试以及维护阶段的出错处理 都提供了良好的辅助作用。第3章.ETL维护规范3.1 日志检查3.1.1 日

11、志文件报告ETL提供日志监测和报告功能。报告分汇总报告和详细报告。汇总报告报告内容:作业总数,WARNING业数,成功作业数,失败作业数, 开始时间,结束时间等详细报告报告内容:作业名称,开始时间,结束时间,运行状态等3.1.2 作业状态排查在ETL管理控制台上,可点击进入查看作业更为详细的状态及出错信息, 以便于维护更正。3.2 出错处理即使是经过严格测试的程序,在实际运行中仍然会因为种种原因而导致出 错,根据ETL的处理逻辑,我们将错误分为以下三类:抽取错误:简称E (Extract )类错误转换错误:简称T (Transformer )类错误装载错误:简称L (Loading )类错误3

12、.2.1 E类错误这类错误发生在数据抽取阶段。诸如数据库连接故障、网络资源不足等原 因都可以导致此类故障。由于此类错误发生时,数据还处于原始状态,未发生 转换,对目标数据集也未产生任何影响,理论上可以看做是ETL处理未开始,因此处理此类错误相对简单,只需要排除故障原因后重新运行ETL处理即可。3.2.2 T类错误这类错误发生在数据转换阶段。引发原因较多,既有环境资源故障的可能, 也有设计逻辑缺陷的可能。此类错误发生在ETL的中间阶段,应根据实际故障原因进行处理。对于环境资源故障所引发的错误,只需要排除故障原因,重新运行ETL的 (Transformer )阶段和 L (Loading )阶段即

13、可。对于设计逻辑缺陷所引发的错误,处理相对复杂一一首先要定位错误并修 正程序,同时要明确该错误是否涉及到数据源的抽取逻辑,如果未涉及到,则 在修正逻辑后重新运行 T (Transformer )阶段和L (Loading)阶段程序即可; 若逻辑错误与数据源相关,则需要重新运行包括E (Extract )阶段在内的整个ETL处理。3.2.3 L类错误这类错误发生在数据装载阶段,除环境资源故障原因外,最大可能性是需 要装载到目标集的数据违反了目标数据集数据约束,如主键重复、非空字段出 现空值、数据超长、类型不匹配等等。因环境资源故障(网络故障等等)所引发的出错,处理简单,只需排除故障,将目标数据集

14、恢复到装载前状态,重新运行L阶段的处理即可对于非环境资源所引发的问题,处理与 T类错误类似:先定位原因,根据 以往的经验,问题多数发生在 T阶段,可能存在设计缺陷或者运行逻辑缺陷, 需要对T部分的处理进行修正,并将目标数据集恢复到装载前状态, 重新运行T 阶段和L阶段的处理。在上一章“设计规范”里,我们弓S调了模块化的流程设计,将 E阶段、T阶 段、L阶段按流程分模块化设计,其实不仅仅是为了解决系统资源瓶颈问题,同 时也是为了方便出错时进行处理。在发生 T类和L类错误时,由于各处理阶段 设计相对独立,对于不同阶段的问题,只需要单独运行与该阶段相关的处理, 而无须将所有处理过程都重新运行,大大减

15、低重复运行的代价。3.3 备份、恢复与版本控制ETL系统的备份包括两个部分,即 ETL运行环境备份及数据库的备份。运行备份是指为保证如果运行的 ETL系统崩溃时可以通过备份的 ETL系统 继续完成ETL的工作,为达到这个目的,应安装两台 ETL环境,并建立相同的 配置,其中一台处于运行状态,而另一台为待机状态。每日在日常ETL完成后对运行环境的各文件进行备份,即将 ETL的运行目录转储到外挂磁盘或外部存 储介质。而数据库的数据备份对于 ETL非常重要,建议系统管理员每日做数据的完 全备份,每天保留一个备份文件,建议至少保留7天。ETL系统的恢复相应也包括两个部分,即运行恢复及数据恢复运行恢复是指当运行系统遇到严重故障如硬件故障、操作系统崩溃等无法 及时修复时,启用备份的运行系统继续,通过将上一日备份的ETL环境恢复到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论