etl开发宝典

上传人:xzh****18 文档编号:45811976 上传时间:2018-06-19 格式:PDF 页数:85 大小:2.26MB
返回 下载 相关 举报
etl开发宝典_第1页
第1页 / 共85页
etl开发宝典_第2页
第2页 / 共85页
etl开发宝典_第3页
第3页 / 共85页
etl开发宝典_第4页
第4页 / 共85页
etl开发宝典_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《etl开发宝典》由会员分享,可在线阅读,更多相关《etl开发宝典(85页珍藏版)》请在金锄头文库上搜索。

1、1 ETL实施指南实施指南 3. ETL Development 2. DW Automation 4. ETL Operation 1. ETL Overview 经验增长 日积月累 本 ETL 实施指南分成下面几个模块来描述,涵盖了理论、 架构、开发等几个部分,对实际操作具有参考意义: 2 ETL实施指南实施指南 下面将分四章十三节进行介绍,具体内容如下: 总体架构 处理过程 作业流程 阶段规划 开发规范 配臵管理 测试管理 上线管理 系统简介 安装配臵 使用指南 (GUI) 日常运维 经验之谈 1 2 3 4 ETL Overview ETL Operation DW Automatio

2、n ETL Development 3 DW Overview 作业流 程 ETL Overview 处理过 程 总体架 构 4 DW Overview 总体架构总体架构 在 ETL 过程中我们主要用到三个 Teradata 工具: Fast Load / Multi Load (较少):将源数据文件导入到数据库 Stage 区 BTEQ:调用SQL执行转换过程 DW Automation 在整个过程中起到调度、控制和监视的作用,当相应控制文件 到达后,它根据配臵负责调用相应的作业。 Point1: ETL架构 Data Source Fast Load Multi Load Teradata

3、 SQL (BTEQ) DW Automation Data flow Control hndw 1adf9171042637f6; 去掉 “.LOGON”,将“,”修改为空格“ ” 30 DW Automation 安装配臵安装配臵 详细的系统介绍见附件“03 GUI”中的ETL Automation Manual V2.5.4(GB).doc的第一章安装 ETL Automation 。 Step9: 参考资料 31 接口服务器接口服务器 安装配臵安装配臵 接口服务器用来抽取源系统数据,因此首要做的事情就是配臵好抽取列表; 具体请参看附件“03 Interface”中的HN-DW-ETL-

4、源系统抽取列表.xls。 Step1: 抽取列表 在该Excel表格中主要配臵以下参数: 批次号 本地网编号 源系统 数据库名 + OWNER 表名 周期频度 开始时间 完整SQL 是否压缩 参看附件“03 Interface”中的HN-DW-ETL-源系统抽取列表.xls 32 接口服务器接口服务器 安装配臵安装配臵 可根据上页配臵好的抽取列表自动生成抽取文件,被抽取程序所用; 具体请参看附件“03 Interface”中的HN-DW-ETL-源系统抽取列表.xls。 Step2: 生成文件 在该Excel表格中主要配臵以下参数: 系统编号 开始行号 + 结束行号:该系统列表从上页 表格中的

5、行号范围 周期脚本目录 + 初始脚本目录:生成抽取 文件的位臵 outting-path:抽取后文件存放目录 线程数 + 重试次数 + 重试等待:一般不用 修改 33 接口服务器接口服务器 安装配臵安装配臵 1.假设在该接口服务器上需要抽取2个系统的数据,编号为:D01, D05,这需要在 java 的 安装目录下将 javaw.exe 复制2份,命名为:javawD01.exe, javawD05.exe。这样方便在 任务管理器中停止某个系统的抽取进程。 2.将附件“03 Interface”中的 PumpData_ETL 目录拷至接口服务器,运行 SET.bat ,根据 界面提示生成各个系

6、统的连接参数。注意!在“输入该连接的名称”填入的名称和上 页抽取列表中的“数据库名”一致。 3.参照 PumpData_ETLrunXXX.bat 生成 runD01.bat 和 runD05.bat; 4.用上页抽取列表中的自动生成抽取文件功能生成抽取文件 Pump_D01.txt 和 Pump_D05.txt,拷至 PumpData_ETLetc ; 5.参照 PumpData_ETLetcPumpLog_XXX.cfg 生成 PumpLog_D01.cfg 和 PumpLog_D05.cfg; 6.再建立一个 PumpData_ETL_Temp 目录,内容和 PumpData_ETL 一

7、致,用于补抽数据, 唯一不同的是第3步参照的文件是 PumpData_ETLrunXXX_Temp.bat。 Tips! 前提条件是机器上需要安装java环境,如果没用,可以用附件“03 GUI”中的 j2sdk-1_4_0_01-windows-i586.exe Step3: 抽取程序 34 接口服务器接口服务器 安装配臵安装配臵 在接口服务器上安装 Serv-U FTP Server ver 6.1,以后可安装更高版本(请购买 或自行搜索下载); 建立一个FTP连接帐号,注意要和“DW Automation 安装配臵”中的“Step7: FTP相关”中配臵的用户密码一致。 在这里是 HND

8、W / HNDW1234 Tips! Serv-U必须要注册,否则只能同时上载一个文件。 Step4: FTP Server 35 接口服务器接口服务器 安装配臵安装配臵 ETL服务器和接口服务器都需要安装杀毒软件和系统补丁 ,并经常更新病毒库,但要注意 FTP 端口不要屏蔽了; ETL服务器和接口服务器都需要定期查看空间情况,最好 是利用监控软件每日汇报空间使用情况; 注意到附件“03 Interface”中还有一个 PumpData_ETL_NoFTP ,这是针对不需要 FTP 过程的数据 抽取,基本配臵和PumpData_ETL 一致。只是在抽取文件 中多了一行: pump-config

9、 -threadNum 5 pump-outting-path D:HNDWZ51 pump-connection-file conn.xml pump-error-limits 3 pump-error-sleep-time 120 pump-system-name Z51 -sora7_D -oITSM -tD_IP_IN_RATE -SqlSELECT IN_RATE,IN_RATE_DEFINE,NUM_TYPE_ID FROM ITSM.D_IP_IN_RATE -dxx-xx 01:00 Step5: 注意事项 36 DW Automation GUI使用指南使用指南 DW Aut

10、omation自带了两个GUI工具: Automation Administration 用来定义并管理在 DW Automation 中的作业及作业关联性 ; 附件“03 GUI”中的 ETLAdmin.jar,使用可执行命令行: Automation Monitor 用来监看作业的执行状态 ; 附件“03 GUI”中的 ETLMonitor.jar,使用可执行命令行: Tips! 前提条件是机器上需要安装java环境,如果没用,可以用附件 “03 GUI”中的 j2sdk-1_4_0_01-windows-i586.exe start javaw -jar ETLAdmin.jar sta

11、rt javaw -jar ETLMonitor.jar Step1: 工具安装 37 DW Automation GUI使用指南使用指南 这两个GUI工具详细的操作说明详见附件“03 GUI”中的ETL Automation Manual V2.5.4(GB).doc的第三章ETL Automation前端管 理程序使用说明 和第四章ETL Automation 前端监控程序使用说明 ; 常用操作将贯穿在ETL运维中。 Step2: 参考资料 38 ETL Development ETL Development 测试管 理 上线管 理 阶段规 划 开发规 范 配臵管 理 39 ETL Dev

12、elopment 阶段规划阶段规划 由于ETL的开发是一个长期的过程,因此在项目中,需要 结合实际情况,根据应用配合度、本地网优先级和脚本难 易程度,进行ETL的阶段规划; 这样做的目的是将管理过程分块,易于管理和控制; 后面将介绍本项目的具体规划情况。 Point1: 基本概念 40 ETL Development 阶段规划阶段规划 开发规划 春节前 应用配合度高的开发(1-1) 省公司、长沙的开发(2-1、2-2、2-3、2-4) 春节后 衡阳的开发(将拷贝长沙的开发模式) 试运行规划 增量试运行,结合开发批次,每次增加一批试运行,目的: ETL流程畅通 发现数据质量(DQ)问题,根据情况

13、将检查结果反馈给源系统 或开发人员 开发和试运行的进度保持在一个到两个交付日的差距(下面将详细 介绍交付日的概念) 每阶段试运行采取“1+3”的策略,即:1次初始加载+3天周期加载 Point2: 规划策略 41 ETL Development 阶段规划阶段规划 我们为ETL开发阶段定义了10个交付点。 开发和测试的交付点具体定在每周三下班前和 每周五下班前,如果交付点未完成,顺延至周 六,严格按计划执行严格按计划执行。 相应的测试交付时间点在开发交付时间点延后 一个交付日。 周三周三 周五周五 2005-12-21 2005-12-23 2005-12-28 2005-12-30 2006-

14、1-4 2006-1-6 2006-1-11 2006-1-13 2006-1-18 2006-1-20 目前所处交付点 Point3: 交付日 42 ETL Development 阶段规划阶段规划 ETL开发规划 春节前配合应用的ETL 2005.12.12-2005.12.23 该阶段批次为1-1 春节前省公司和长沙的ETL 2005.12.19-2006.1.25 该阶段分成了4小批 2-1、2-2、2-3、2-4 春后衡阳的ETL 2006.2.8-2006.3.8 12.23 9个作业 ETL开发的先头部队 12.12 1.25 12.19 78个作业 ETL开发的正规军 Poin

15、t4: 开发阶段 43 ETL Development 阶段规划阶段规划 运维运维 数据加载数据加载 #D:ETL my $WORKDB = $ENV“AUTO_WORKDB“; #PD_WORK my $TARGETDB = $ENV“AUTO_TARGETDB“; #PD_DATA my $SOURCEDB = $ENV“AUTO_SOURCEDB“; #PD_STAGE 其中,后面两个数据库全局变量有扩展,有各个本地网的 后缀,下一页将会作介绍,属于可选参数。 Point6: Var. Section 1 53 ETL Development 开发规范开发规范 标注了Optional Variables的部分都是 可选变量,可以根据该脚本所涉及的 本地网来选择; 其他变量一般不需做修改,如果需要 新增变量,在# New Variables后面累 加。 Point7: Var. Section 2 54 ETL Development 开发规范开发规范 每一步的注释,注释部分以“-”开头 SQL语句 错误返回 SQL语句要求严格遵照 附件“04 Develop”中的 HN-DW-ETL-SQL编写规范.doc Point8:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号