TD员工入职技术培训之ETL开发与维护V.ppt
《TD员工入职技术培训之ETL开发与维护V.ppt》由会员分享,可在线阅读,更多相关《TD员工入职技术培训之ETL开发与维护V.ppt(66页珍藏版)》请在三一办公上搜索。
1、Teradata Trainee Technical Booklets Course 5ETL开发与维护,By:Li Erniu,议题,ETL 介绍ETL Automation说明ETL 开发ETL 管理维护ETL人员职责与技能要求,议题,ETL 介绍ETL Automation说明ETL 开发ETL 管理维护ETL人员职责与技能要求,ETL 定义ETL/ELT/ETLT-总结ETL 流程概述ETL 技术架构,ETL 定义,ETL抽取(Extract)、转换(Transform)和加载(Load)Teradata use E-L-T framework抽取(Extract)从数据库、磁带或其它
2、各种介质抽取数据或由数据提供方主动提供数据加载(Load)将数据源文件加载至数据仓库(Teradata)使用fastload/multiload/tpump/TPTinmod/axsmod转换(Transform)将源表数据根据业务需要转换成目标表数据使用bteqSQL(SELECT/DELETE/INSERT/UPDATE),ETL vs.EtLT vs.ELT 总结,Teradata ETL 流程简要说明,ETL流程是数据触发的、全自动的数据流过程;ETL流程是将数据抽取、转换和装载到数据仓库的一个数据流的过程,它定义了对众多数据处理的顺序性、依赖性及触发性等关系;使用ETL AUTOMA
3、TION进行统一的管理、调度;使用ETL监控服务进行流程监控并处理异常情况;一般情况下,ETL流程包括数据源准备、加载、转换、数据导出和数据备份等几部分。,CSDCC ETL流程图,Teradata ETL技术架构,议题,ETL 介绍ETL Automation说明ETL 开发ETL 管理维护ETL人员职责与技能要求,ETL Automation简介Perl对数据库的访问ETL Automation目录架构ETL Automation服务ETL Automation处理流程ETL管理及组件ETL管理示意图,ETL Automation简介,Teradata公司开发的ETL流程调度产品(prod
4、uct);使用Perl程序开发,运行环境需要安装Perl软件及DBI、DBD插件;C/S服务器架构ETL Automaiton由以下几部分组成:ETL Automation服务ETL Automation目录架构ETL Automation知识库ETL Automation环境变量ETL Administrator管理工具(GUI)ETL monitor监控工具(GUI)ETL Automation任务调度:定义了目录架构及知识库目录架构下不同的目录用于不同的目的知识库中不同的表用于不同的目的定义了目录架构下部分目录与知识库中相应表的对应关系规则目录中的任务名称与知识库任务表中相应任务名称必须
5、相同目录中的日志文件名称与知识库日志表中相应日志名称必须相同定义了控制文件的命名规则控制文件作为Automation调度任务的必需条件之一ETL Automation服务使用环境变量、控制文件和知识库对ETL任务进行调度,ETL Automation简介,ETL Automation功能说明ETL任务的自动化调度ETL任务管理一般情况下使用图形界面工具(GUI)ETL Administrator和ETL Monitor对ETL任务进行管理、监控添加/删除/修改ETL server(可选)、子系统(可选)、任务定义任务之间的关系、任务组、日历等任务定时ETL日志清理日志文件清理日志记录清理ETL
6、任务讯息通知邮件通知手机短信通知ETL远程访问管理,Perl对数据库的访问,ETL Automation目录架构,/ETL(Automation 主目录)|-/APP 存放ETL任务脚本。在此目录下先建子系统目录,然后建ETL任务目录|-/DATA|-/complete存放已成功执行过的数据.以系统名称以及日期来建立子目录|-/fail|-/bypass存放不须执行的档案.以系统名称以及日期来建立子目录|-/corrupt存放大小不符合的档案.以系统名称以及日期来建立子目录|-/duplicate存放重复接收的档案.以系统名称以及日期来建立子目录|-/error存放执行作业过程中产生错误的档案
7、.以系统名称以及日期来建立子目录|-/unknown存放未定义在 ETL Automation 机制中的档案.以日期来建立子目录|-/message存放要发送讯息通知的控制文件|-/process存放正在执行中的作业所使用的数据文件及控制档|-/queue存放准备要执行的作业所使用的数据文件及控制档|-/receive用来接收各来源系统所传送来的数据文件及控制文件|-/LOG存放 ETL Automation 系统程序及各作业在执行时所产生的记录档案|-/bin存放 ETL Automation 系统程序的执行文件|-/etc存放 ETL Automation 机制的一些设定档案|-/lock
8、存放 ETL Automation 系统程序及各作业在执行时所产生的 lock 档案|-/tmp临时缓冲目录,存放临时文件,ETL Automation服务,ETL Automation处理流程,ETL 管理及组件,ETL 管理自动流程管理:附以开发的ETL程序及ETL Automation产品进行自动的ETL流程管理Automation是调度工具,不能自动捕获源数据文件建议开发的ETL程序包括(1)、源文件处理程序,负责生成控制文件,传递给Automation进行任务提交;(2)、ETL错误处理及监控程序,对ETL任务进行监控及对异常的任务进行自动处理、不能处理的任务告警手工维护:维护人员通
9、过ETL Administrator/Monitor或直接访问ETL Repository/ETL 服务器进行管理、维护ETL 组件ETL AutomationETL ServiceETL 目录架构ETL RepositoryETL EnvironmentETL Administrator工具(GUI)ETL Monitor工具(GUI)ETL任务脚本(ETL Job Scripts)用户自定义ETL程序(User Defined ETL Program)ETL Server/Client服务器,ETL 管理示意图,议题,ETL 介绍ETL Automation说明ETL 开发ETL 管理维护
10、ETL人员职责与技能要求,开发前的必要准备脚本生成器ETL任务分类异常监控及错误处理开发任务开发示例-CSDCC ETL任务开发说明,开发前的必要准备,安装Perl软件及DBI、DBI-ODBC插件安装Teradata TTU工具配置Teradata ODBC数据源配置hosts文件创建ETL Automation目录设置ETL Automation环境变量拷贝相关的ETL程序到$auto_homebin目录配置ETL 服务(可选),必须完成以下操作:,Scripts Generators(脚本生成器),尽可能的情况下,使用任务脚本生成器进行任务开发ETL开发人员要逐步了解并能够独立开发脚本生
11、成器脚本生成器分为:加载任务脚本生成器生成加载(Load)任务脚本转换任务脚本生成器生成转换(Transform)任务脚本备份任务脚本生成器生成备份(Backup)任务脚本脚本生成器高效的生成Perl代码脚本并存放在Automation相应目录下生成的Perl代码脚本格式统一,有助于维护并增强安全性对生成的Perl代码脚本可以自定义修改,一般情况下加载任务脚本不需要修改,ETL任务分类,ETL加载任务将源数据文件加载到Teradata数据仓库调用Fastload/Multiload/Tpum/TPT等工具如果数据源比较复杂,需要调用Inmod/Axsmod等API接口ETL转换任务将源表(So
12、urce tables)数据根据业务需求进行转换加载到目标表(Target tables)中调用Bteq工具如果转换比较复杂,可以考虑使用UDFETL导出任务将数据仓库表数据导出以供接收方使用调用Fastexport工具如果对导出要求较高,需要调用Outmod/Preprocessor等接口ETL备份任务备份ETL数据及数据仓库表到磁带库磁带调用Netvault工具,异常监控及错误处理开发,异常监控程序开发监控源数据传输状态监控ETL任务状态异常监控页面开发监控ETL流程加载情况进行错误报警ETL错误处理程序开发自动处理ETL加载失败的任务,任务开发示例-CSDCC ETL任务开发说明,ETL
13、任务开发ETL任务开发流程ETL源数据加载任务开发ETL转换任务开发标准加载算法历史表加载算法任务映射文档sdm excel工具模板ETL任务测试ETL开发、测试总结ETL程序开发ETL开发成果归档,ETL任务开发,ETL加载任务开发二进制文件加载任务以dds文件为核心的开发模式使用加载任务脚本生成器生成加载任务脚本其他文件加载任务使用加载任务脚本链接生成器直接生成加载任务脚本ETL转换任务开发使用sdm excel集成工具进行开发便捷的生成源表、目标表的字段映射关系,生成ETL任务的sdm文档便捷的将映射关系插入到ETL映射表中,生成ETL映射元数据便捷的根据ETL映射元数据生成ETL转换任
14、务脚本,自动存放在ETL相应目录下对较复杂的ETL任务脚本根据业务需求做少许的修改,ETL任务开发流程,ETL源数据加载任务开发,根据源数据结构生成dds文件dds文件格式ASCII文件dds文件内容包含表名称、字段名称、字段长度、数值型字段长度、数值型小数位数、字段中文名称等7列列之间使用Tab键分隔HCGDATV1R0_CGBJJLPF.dds文件示例:,ETL加载任务开发,使用脚本生成器生成加载任务脚本Usage:scriptmap.pl SYS JOBDIR DBNAME TABLE DDSFILESYS:子系统名称JOBDIR:任务路径名称DBNAME:source table 所在
15、库名TABLE:source table nameDDSFILE:dds file name示例:scriptmap.pl SHH HCGDATV1R0_CGBJJLPF dvs0ddl HCGDATV1R0_CGBJJLPF HCGDATV1R0_CGBJJLPF.dds生成源文件结构生成三个加载任务脚本hcgdatv1r0_cgbjjlpf0090.pl、hcgdatv1r0_cgbjjlpf0100.pl和hcgdatv1r0_cgbjjlpf0200.pl,脚本自动存放在$AUTO_HOMEAPPSHHHCGDATV1R0_CGBJJLPFbin目录下生成一个源数据结构文件hcgdat
16、v1r0_cgbjjlpf.map,自动存放在$AUTO_HOMEAPPSHHHCGDATV1R0_CGBJJLPFddl目录下,Fastload语法,Fastload SyntaxSet record;Tenacity;Sleep;Session;Logon;Begin loading ERRORFILES;Define INMOD(FILE)=;Insert values();End loading;Logoff;,Fastload示例,Fasload ExampleLOGON educ2/user14,ziplock;BEGIN LOADING AccountsERRORFILES Ac
17、cts_Err1,Accts_Err2;DEFINE in_Acctno(CHAR(9),in_Trnsdate(CHAR(10),in_Balcurr(CHAR(7),in_Balfwd(INTEGER),in_Status(CHAR(10)FILE=INFILE;INSERT INTO Accounts(Account_Number,Account_Status,Trans_Date,Balance_Forward,Balance_Current)VALUES(:in_Acctno,:in_Status,:in_Trnsdate(Format YYYY-MM-DD),:in_Balfwd,
18、:in_Balcurr);END LOADING;LOGOFF;,ETL转换任务开发,标准加载算法说明转换任务脚本生成器说明genhis200.exe-生成历史表加载脚本gentbl200.exe-生成除历史表外的加载脚本使用sdm excel集成工具进行任务开发任务映射文档说明源表、目标表字段映射关系执行”生成脚本”语句生成任务脚本,标准加载算法,算法代码算法名称 算法说明0其它加载方式 手工书写sql 1全表覆盖 delete/insert2直接追加 insert where 3历史表加载 历史表加载算法4主表、历史表加载 主表、历史表加载算法5主表加载 delete where 主键 i
19、n()/insert6初始、比对加载 初始加载:insert 每日加载:insert minus,历史表加载算法,2个重要概念开始日期:数据开始存在的日期结束日期:数据消失(或失效)的日期记录了数据的变动轨迹初始加载Insert开始日期为加载日期或最小日期(mindate)19800101结束日期为最大日期(maxdate)30001231日常加载新增数据直接插入目标表s_date=加载日期,e_date=最大日期消失或失效数据更新目标表结束日期字段值e_date=加载日期,历史表加载算法示例,历史表脚本生成器,genhis200.exe-历史表脚本生成器Usage:genhis200.exe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TD 员工 技术培训 ETL 开发 维护
链接地址:https://www.31ppt.com/p-6521856.html