ETL开发指南(DataStage EE)V2.0
用 IBM WebSphere DataStage 进行数据整合:第 2 部分
在本文中,您将看到一个同时处理多个数据源和目标的 ETL Job 的开发过程,并了解 DataStage 中 Container 和 Job Sequence 的用法。
引言系列的第一部分介绍了 DataStage 的基本功能。
本文将从以下几个方面深入介绍 IBM WebSphere DataStage 在数据整合方面的强大功能。
1. Job Sequence 的用法2. DataStage Container 的用法3.开发一个同时处理多个数据源和目标的 ETL JobJob Sequence 的用法在用 IBM WebSphere DataStage 进行数据整合的过程中,我们一般会开发很多个单独的 ETL Job 去完成特定的逻辑功能,这些 ETL Job 之间的运行顺序往往是有限制的,那么我们如何处理 ETL Job 之间的这种依赖关系呢?IBM WebSphere DataStage 提供了处理这种问题的方法,那就是使用 Job Sequence。
使用 Job Sequence 可以方便的处理 ETL Job 之间的依赖以及运行顺序问题。
下面我们通过开发一个简单的 Job Sequence 来演示 Job Sequence 的用法。
开发一个 Job Sequence 和开发一个 ETL Job 的方法是类似的,都是用DataStage Designer 来开发。
我们将要开发的这个 Job Sequence 的功能是实现两个 ETL Job 的顺序执行,并且在第一个 ETL Job 运行成功的情况下第二个ETL Job 才开始执行。
因此我们必须先准备两个 ETL Job,这两个 ETL Job 的名字分别为 Job1 和 Job2。
开发步骤1.打开 DataStage Designer。
如下图所示,从下拉列表中选择 Job Sequence。
这样就会新建一个 Job Sequence;图 1:新建 Job Sequence2. 新建的 Job Sequence 如下图所示。
ETL使用手册
火龙果 整理ETL使用手册ETL使用手册第一章配置文件结构<loaderJob>//根标签<restartCounter/>//在目标数据库中创建数据表,纪录importDefinition标签重新启动的次数,如果存在表明会抛错.<variables>//接收参数定义<variable/></variables><jdbcDefaultParameters>//默认JDBC连接<jdbcSourceParameters><jdbcSourceParameter/></jdbcSourceParameters><jdbcTargetParameters><jdbcTargetParameter/></jdbcTargetParameters></jdbcDefaultParameters><sql>//执行SQL语句<jdbcTargetParameters><jdbcTargetParameter/></jdbcTargetParameters><sqlStmt><include/></sqlStmt></sql><definitionInclude>//定义包含<include/>//包含多个<definitionInclude>标签文件<echo/>//日志开头要显示的信息<copyTable/>//简单表复制<importDefinition>//导入定义<sortColumns>//确保字段数据唯一<sortColumn/></sortColumns><jdbcParameters>//导入任务定义的JDBC连接<jdbcSourceParameters><jdbcSourceParameter/></jdbcSourceParameters><jdbcTargetParameters><jdbcTargetParameter/></jdbcTargetParameters></jdbcParameters><valueColumns>//直接对应转换列<valueColumn/></valueColumns><transformations>//自定义转换规则<transformation>//转换规则<sourceColumns><sourceColumn/></sourceColumns><targetColumns><targetColumn/></targetColumns><javaScript><include/></javaScript></transformation></transformations><variableColumns><variableColumn/>//将变量值赋给目标字段必须属性override="true"<userIDColumn/>//将当前用户赋给目标字段<timeStampColumn/>//将当前时间赋给目标字段</variableColumns><relationColumns><relationColumn/>//导入外键关系(必须存在对应关系)</relationColumns><constantColumns><constantColumn/>//将固定值(常量)赋给目标字段</constantColumns><counterColumns><counterColumn/>//通过计数器表向目标字段自动增量生成数据(例如:自动加1)<subCounterColumn/><subCounterKeyColumn/></subCounterColumn></counterColumns><tables>//定义目标表<table/></tables></importDefinition></definitionInclude></loaderJob>第二章标签说明<loaderJob>ETL配置文件的根标签。
ETL基础及常用技术培训
oracle基础—数据库安装
Windows环境下: 网上下载安装包 点击安装 全选默认配置即可。 其它机器上已有server端,可只安client端。 PLSQL软件是一个优秀的oracle工具,建议安装
LOGO
ETL基础及 常用技术
主要内容
ETL基本概念 ETL常用逻辑架构 ETL实施过程 ETL常用技术(shell,oracle,datastage)
ETL基本概念
ET L(Extract-Transform-Load)即数据的抽取、转换与加载。ETL是从各 种原始的业务系统(异构多源)中提取数据,按照预先设计好的规则将抽取到的 数据进行转换,最后将转换完的数据按计划增量或全部导人到目标数据库,成 为联机分析处理、数据挖掘的基础。
.
shell基础—流程控制命令(if)
字符串比较: string1 = string2 如果相等则为真 string1 != string2 如果不等则为真 -n string 如果不空则为真 -z string 如果为空则为真 算术比较: expression1 -eq expression2 如果相等则为真 expression1 -ne expression2 如果不等则为真 expression1 -gt expression2 如果大于则为真 expression1 -ge expression2 大于等于则为真 expression1 -lt expression2 如果小于则为真 expression1 -le expression2 小于等于则为真
ETL常用技术
SHELL(unix基本操作) SQL PL/SQL PROC DATASTAGE
shell基础
Linux中有好多种不同的shell,如bsh,csh ,同其他语言一样,可以通过我们 使用任意一种文字编辑器,比如vi等来编写我们的shell程序。 程序必须以下面的行开始(必须放在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个程序中我们 使用/bin/sh来执行程序。 当编辑好脚本时,如果要执行该脚本,还必须使其可执行。 要使脚本可执行: chmod +x filename 然后,可以通过输入: ./filename 来执行脚本。
datastage使用说明
用DataStage进行数据整合DataStage 的开发环境是基于C/S 模式的,通过DataStage Client 连接到DataStage Server 上进行开发。
这里有一点需要注意,DataStage Client 只能安装在Windows 平台上面。
而DataStage Server 则支持多种平台,比如Windows、Redhat Linux、AIX、HP-UNIX。
DataStage Client 有四种客户端工具。
分别是DataStage Administrator、DataStage Designer、DataStage Manager、DataStage Director。
接下来首先介绍这几种客户端工具在DataStage 架构中所处的位置以及它们如何协同工作来开发ETL Job 的,接着再分别详细介绍每个工具的功能。
图1 描述了IBM WebSphere DataStage 的整个系统架构。
DataStage 的客户端工具连接到DataStage Server 上进行ETL Job 的开发,DataStage Server 再与后台的数据库连接起来进行数据处理。
DataStage 的客户端工具之间的是一个相互合作的关系。
下面通过介绍ETL Job的开发过程来介绍他们之间的这种关系。
ETL Job开发流程1.用DataStage Administrator 新建一个项目;2.用DataStage Designer 连接到这个新建的项目上进行ETL Job的设计;3.用DataStage Director 对设计好的ETL Job设置运行的模式,比如多长时间运行一次ETL Job;4.用DataStage Manager 进行ETL Job的备份等。
图1:IBM WebSphere DataStage 架构图DataStage AdministratorDataStage Administrator 的主要功能有以下几个:1.设置客户端和服务器连接的最大时间。
datastage学习文档
工作总结1 如何重新启动DataStage服务器, 步骤如下: (5)2 DataStage开发经验积累: (5)2.1模板开发 (5)2.2通过S ERVER S HARED C ONTAINER在P ARALLEL J OB中添加S ERVER J OB S TAGE (5)2.3去除不需要的字段 (5)2.4T RANSFORMER S TAGE的使用 (5)2.5L OOK UP/JOIN 空值处理 (6)2.6D ATA S TAGE中默认和隐式类型转换时注意的问题 (6)2.7配置一个INPUT或OUTPUT,就VIEW DATA一下,不要等到RUN时再回头找ERROR (6)2.8D ATA型数据是比较麻烦的 (6)2.9行列互换之H ORIZONTAL P IVOT(P IVOT S TAGE) (7)2.10行列互换之V ERTICAL P IVOT (7)2.11O RACLE EE S TAGE在VIEW数据时出现的错误及解决方法 (9)2.12D ATA S TAGE SAP S TAGE的使用 (10)2.13C OLUM I MPORT S TAGE的使用 (10)2.14C OLUM E XPORT S TAGE的使用 (12)2.15G OT ERROR:C ANNOT FIND ANY PROCESS NUMBER FOR STAGES IN J OB J OBNAME解决 (13)2.16U NABLE TO CREATE RT_CONFIG NNN (14)2.17查看JOB和CLIENT的对应的后台进程 (14)2.18强制杀死DS进程 (14)2.19查看S ERVER E NGINE的进程 (15)2.20查看S ERVER L OCKS (15)2.21关于UNIX系统下无法启动服务的解决办法 (16)2.22L OCKED BY OTHER USER (17)2.23DATA S TAGE J OB L OG的处理 (17)2.24一些BASIC语言中处理字符串的函数 (17)2.25BASIC程序中使用到的一些语法知识 (18)3DS中常见问题记录 (22)3.1权限管理问题 (22)3.2JOB MAY BE BEING MONITORED或者是CLEANUP问题 (22)3.3删除文件的问题 (22)3.4SEQUENCE调度出现的错误问题 (23)3.17字符集问题 (23)3.18V ERSION C ONTROL的问题 (23)3.19SEQUENCE调不起JOB的问题 (23)3.20SEQUENCE调度失败的问题 (24)3.21DS发送邮件的配置问题 (25)3.22随机错误问题 (26)3.23DS中的日期问题 (26)3.24DS连接ORACLE问题 (27)3.28从后台看JOB列表的方法 (28)3.29D ATASTAGE和数据库的连接方法 (28)3.30在DATASTAGE中使用环境变量的问题 (28)3.31IC ONV 和OC ONV (29)3.32在M ERGE中使用特殊字符 (29)4部分常用Stage 的使用说明 (29)5dsjob 语法说明: (31)6如何从DataStage服务器导出所开发的JOBS列表 (32)7查看当前服务器状态信息的方法: (36)8如何在两台机器之间进行FTP文件 (36)9如何获得Jobstatus ,步骤如下: (38)10dsjob –run 的用法 (39)11如何在后台运行和停止一个JOB (40)12DS Oracle EE Stage 配置 (42)11.1安装O RACLE客户端 (42)11.2添加O RACLE用户到DSADM GROUP组选项 (42)11.3配置D ATA S TAGE服务器DSENV文件 (42)11.4配置TNSNAMES.ORA (43)11.5重起D ATA S TAGE服务 (43)11.6配置O ACLE S TAGE抽取的S ELECT权限 (43)11.7O ACLE EE STAGE配置结束 (44)13DS ODBC 的配置 (44)12.1修改$DSHOME/DSENV (44)12.2修改$DSHOME/.ODBC.INI,来提供数据库连接信息; (44)12.3修改$DSHOME/UVODBC.CONFIG,来指定DSN(DATA SOURCE NAME). (45)14ETL系统扩展 (46)15Remote Shell (rsh)的配置 (46)14.1创建并配置.RHOSTS文件 (46)14.2修改/ETC/HOSTS.EQUIV文件 (47)16dsadmin命令的使用 (47)15.1DSADMIN命令的使用 (47)17如何启动JobMonApp (49)18.1LOGTO P ROJECT N AME --------登录一个工程 (52)18.2DS.TOOLS---------进入DS工具 (52)18.3LIST DS_JOBS--------显示所有的J OB及J OB的分类C ATEGORY (52)18.4LIST DS_JOBS WITH NAME=J OB N AME ------显示某个特定J OB的信息 (52)18.5LIST.READU EVERY-----列出所有的锁及锁的拥有用户U SER N AME (52)18.6UNLOCK USER USERNO ALL----解锁用户锁住的J OBS (52)18.7LIST.INDEX-----列出资料库的索引 (53)20Usage Analysis来进行影响分析 (53)19.1如何启动U SAGE A NALYSIS (53)19.2U SAGE A NALYSIS中S ELECT C OLUMNS的使用 (54)19.3U SAGE A NALYSIS中V IEW HTML的使用 (55)19.4U SAGE A NALYSIS中L OCATE IN M ANAGER的使用 (56)19.5U SAGE A NALYSIS可使用的S OURCE类型 (57)21DS Message Handlers (58)20.1M ESSAGE H ANDLERS的两种级别 (58)20.2M ESSAGE H ANDLERS的三种动作种类 (59)20.3M ESSAGE H ANDLERS的文件格式 (59)22DS Parallel Routine (60)21.1P ARALLEL R OUTINE注意事项 (60)21.2P ARALLEL R OUTINE创建流程 (60)21.3P ARALLEL R OUTINE示例 (61)23uvconfig文件中参数修改方法 (63)22.1修改文件UVCONFIG中的参数 (63)22.2运行UVREGEN (63)22.3重启DS服务 (63)22.4校验 (63)24&PH& (63)23.1CD \&PH\&或CD ‘&PH&’ (63)25DB2支持的数据格式 (64)26DB2中Load语法和基本使用 (65)1.01启动DataStage Server 的命令要在$DSHOME/bin 目录下进行. 启动之前要切断所有与服务器端的连接:1. 登陆DataStage 服务器,输入: $DSHOME/bin2. 关闭DataStage 服务器 ./uv –admin –stop3. 检查服务器上是否还有进程没关掉,否则服务器无法启动起来,netstat -a | grep ds4. 重起服务器 ./uv –admin –start.Note: 关闭DataStage 服务器后,建议过30 sec 再重起服务器.2DataStage开发经验积累:2.1 模板开发并行JOB中模板的开发可以最大程度的重用并行JOB的构件,节省时间1. 使用JOB参数(PARAMETER)可以在运行时提供参数的值,增加灵活性,可以在不同的环境处理不同的数据;使用JOB PARAMETER 可以在同一时间使用不同参数运行同一个JOB2. Shared Container共享容器可以在多个JOB中共享相同的逻辑,当一个JOB编译时共享容器被嵌入.2.2 通过Server Shared Container在Parallel Job中添加Server Job Stage在Designer中创建一个server shared container,添加需要的Server job stage,再把server shared container添加到parallel job并连接到其他parallel stage. 2.3 去除不需要的字段当从数据库中读取数据时,要尽可能早的去除不需要的字段,只读取需要的字段,而不是整个表,这样可以提高数据读取效率.2.4 Transformer Stage的使用1. 慎用Transformer Stage,因为它可能降低JOB的运行效率,有些功能能合并成一个单独的STAGE的不要用多个STAGE,要用其他的STAGE来代替Transformer Stage 能完成的任务.2. Transformer Stage 的数据流程是先经过constraint的过滤,然后再经过Derivation处理3. 对于确定类型的操作,使用其他STAGE 比使用TRANSFORMER 会更好:(1) 对如下情况,使用Copy Stage 将比Transformer Stage 更好﹡在界面上提供一个JOB 设计占位符﹡重新命名字段成多个输出分支.(3) 使用Modify Stage 来explicit 类型变换和Null处理﹡Modify Stage 也可重新命名字段﹡保持(keep)或删除(drop)字段﹡也可增加新字段,并为新增字段赋值,但赋值方式要以字段=字段形式,例如:new_columnname=old_columnname; 但new_columnname=”hf”这样赋值是错误的﹡Null的处理destinationColum=handle_null(sourceColum,Value)destinationColum=make_null(sourceColum,Value),这个使用中有问题,不处理空值2.5 Look up/join 空值处理1. 当使用Lookup Failure = Contunue 时,要把reference link 的非主键设置成Nullable,即使reference data 是非空的,也要设置成Nullable,这样能够确保Lookup 把空值分配给没有匹配的参考非主键2. 如果参考非主键没有设置成Nullable ,将会发生什么:Lookup 将会分配一个默认值给没有匹配的的行:Integer 默认值为0Varchar/char 默认值为空字符串(0长度的)2.6 DataStage中默认和隐式类型转换时注意的问题当从源向目标映射数据时,如果类型不一致,对于有些类型我们需要在modify或transfomer stage中通过函数进行转换,对于有些系统会自动完成类型转换,在类型转换过程中,注意以下几点:1 在变长到固定长度字符串的默认转换中,parallel jobs用空格(ASCII 20)字符来填充剩余长度(环境变量APT_STRING_PADCHAR的默认值也是空格(ASCII20),具体在哪个stage填充的不知.2 通过环境变量APT_STRING_PADCHAR可以改变默认的填充字符null(ASCII0)。
datastage入门教程
简介DataStage 使用了Client-Server 架构,服务器端存储所有的项目和元数据,客户端DataStage Designer 为整个ETL 过程提供了一个图形化的开发环境,用所见即所得的方式设计数据的抽取清洗转换整合和加载的过程。
Datastage 的可运行单元是Datastage Job ,用户在Designer 中对Datastage Job 的进行设计和开发。
Datastage 中的Job 分为Server Job, Parallel Job 和Mainframe Job ,其中Mainframe Job 专供大型机上用,常用到的Job 为Server Job 和Parallel Job 。
本文将介绍如何使用Server Job 和Parallel Job 进行ETL 开发。
Server Job一个Job 就是一个Datastage 的可运行单元。
Server Job 是最简单常用的Job 类型,它使用拖拽的方式将基本的设计单元-Stage 拖拽到工作区中,并通过连线的方式代表数据的流向。
通过Server Job,可以实现以下功能。
1.定义数据如何抽取2.定义数据流程3.定义数据的集合4.定义数据的转换5.定义数据的约束条件6.定义数据的聚载7.定义数据的写入Parallel JobServer Job 简单而强大,适合快速开发ETL 流程。
Parallel Job 与Server Job 的不同点在于其提供了并行机制,在支持多节点的情况下可以迅速提高数据处理效率。
Parallel Job 中包含更多的Stage 并用于不同的需求,每种Stage 使用上的限制也往往大于Server Job。
Sequence JobSequence Job 用于Job 之间的协同控制,使用图形化的方式来将多个Job 汇集在一起,并指定了Job 之间的执行顺序,逻辑关系和出错处理等。
数据源的连接DataStage 能够直接连接非常多的数据源,应用范围非常大,可连接的数据源包括:•文本文件•XML 文件•企业应用程序,比如SAP 、PeopleSoft 、Siebel 、Oracle Application•几乎所有的数据库系统,比如DB2 、Oracle 、SQL Server 、Sybase ASE/IQ 、Teradata 、Informix 以及可通过ODBC 连接的数据库等•Web Services•SAS 、WebSphere MQServer JobServer Job 中的Stage 综述Stage 是构成Datastage Job 的基本元素,在Server Job 中,Stage 可分为以下五种:1.General2.Database3.File4.Processing5.Real Time本节中将介绍如何使用Datastage 开发一个Server Job。
DATASTAGE使用实用指南
DATESTAGE 使用实用指南1.DataStage官方文档学习笔记1.1通过右键添加link鼠标右键点击起始stage,按住右键移动鼠标到目标stage。
还有一种方法就是把鼠标放在起始stage的边缘等到变为一个小圆圈里面有一个叉的时候拖动鼠标到目标stage。
1.2DataStage中默认和隐式类型转换时注意的问题当从源向目标映射数据时,如果类型不一致,对于有些类型我们需要在modify或transfomer stage中通过函数进行转换,对于有些系统会自动完成类型转换,在类型转换过程中,注意以下几点:1 在变长到固定长度字符串的默认转换中,parallel jobs用null(ASCII 0)字符来填充剩余长度。
联系到前面做的一个parallel job,当目标是变长时(当时源也是变长,但是好像源的精度要小些),但是字符串实际的长度没有指定的变长那么长的话,系统会自动用空格(ASCII 20)来填充(具体在哪个stage 填充的不知),而且环境变量APT_STRING_PADCHAR的默认值也是空格(ASCII 20)。
2 通过环境变量APT_STRING_PADCHAR可以改变默认的填充字符null(ASCII 0)。
注:联系上面两点,感觉文档讲的与实际不符,难道我们项目的administrator改变了该环境变量的默认值?3 有个PadString 函数可以用来用指定的字符来填充一个变长的字符串到指定的长度。
这个函数的参数不能使固定长度字符串,如果是固定长度的先转化为变长。
1.3Copy Stage作为占位符在job开发中,当你暂时不知道该使用哪个stage时,可以使用copy stage作为占位符,注意不要把Force 属性设为True,在不把Force设为True时,复制将在运行时进行优化。
使用Schema file来指定meta data1 可以通过列定义和schema file两种方式来指定meta data,值得注意的一点是Note that, if you usea schema file, you should ensure that runtime column propagation is turned on. Otherwise the column definitions specified in the stage editor will always override any schema file.即,如果想通过schema file来指定meta data,必须勾上runtime column propagation,否则总是使用列定义来作为meta data。
datastage教程
1、【第一章】datastage简介与工作原理1、简介数据中心(数据仓库)中的数据来自于多种业务数据源,这些数据源可能是不同硬件平台上,使用不同的操作系统,数据模型也相差很远,因而数据以不同的方式存在不同的数据库中。
如何获取并向数据中心(数据仓库)加载这些数据量大、种类多的数据,已成为建立数据中心(数据仓库)所面临的一个关键问题。
针对目前系统的数据来源复杂,而且分析应用尚未成型的现状,专业的数据抽取、转换和装载工具DataStage是最好的选择。
Websphere DataStage 是一套专门对多种操作数据源的数据抽取、转换和维护过程进行简化和自动化,并将其输入数据集市或数据中心(数据仓库)目标数据库的集成工具。
DataStage 能够处理多种数据源的数据,包括主机系统的大型数据库、开放系统上的关系数据库和普通的文件系统等,以下列出它所能处理的主要数据源:大型主机系统数据库:IMS,DB2,ADABAS,VSAM 等开放系统的关系数据库:Informix,Oracle,Sybase,DB2,Microsoft SQL Server等ERP 系统:SAP/R3,PeopleSoft系统等,普通文件和复杂文件系统,FTP 文件系统,XML等IIS,Netscape,Apache等Web服务器系统Outlook等Email系统。
DataStage 可以从多个不同的业务系统中,从多个平台的数据源中抽取数据,完成转换和清洗,装载到各种系统里面。
其中每步都可以在图形化工具里完成,同样可以灵活的被外部系统调度,提供专门的设计工具来设计转换规则和清洗规则等,实现了增量抽取、任务调度等多种复杂而实用的功能。
其中简单的数据转换可以通过在界面上拖拉操作和调用一些DataStage 预定义转换函数来实现,复杂转换可以通过编写脚本或结合其他语言的扩展来实现,并且DataStage 提供调试环境,可以极大提高开发和调试抽取、转换程序的效率。
阿里云大数据开发平台运维指南V2.0
3.3 3.4
部署方案................................................................................................. 10 查询服务器信息及应用信息................................................................. 10 3.4.1 3.4.2 3.4.3 3.4.4 查询服务器相关信息...................................................................... 11 登陆服务器...................................................................................... 12 查询应用信息.................................................................................. 13 重启应用服务.................................................................................. 16
3.1 3.2
系统框架................................................................................................... 6 组件及作用............................................................................................... 6 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 Commonbase...................................................................................... 7 baseapi................................................................................................ 7 phoenix(调度)............................................................................... 7 Tenant ................................................................................................. 7 Meta ................................................................................................... 8 DQC ................................................................................................... 8 workbench .......................................................................................... 8 CDP .................................................................................................... 9 Alisa ................................................................................................... 9
DATASTAGE的介绍及基本操作
1、在‘General'页框中,设置Job监控的一些限制信息 和Director中的其他信息。
2、在‘Permission'页框中,设置并分配开发人员组的 权限 。
3、在‘Tracing' 页框中, 设置或取消服务端进行跟踪 。
? Designer提供一个数据流程的模式,轻松将设置和Job的设计有 机的组成。
? 使用Designer,可以: 1、指定数据如何抽取。
? 2、指定数据的转换规则和进行转换。
? 3、使用参考性质的LookUp到数据集市中编辑数据。
? a)例如,如果销售的记录集包括CustomerID,可以在 CustomerMaster表中使用LookUp查找到Customer的名称。
? 自定义的Routines和Transforms 也在DataStage 中 的Manager 里创建。
DataStage中的Designer
? DataStage中的Designer允许使用熟练地拖拽图标和连线的方式 来表示数据抽取、清洗、转换、整合和加载的过程,并将数据导 入数据仓库的表单之中。
? 问题二:
Datastage的Manager用来执行编译通过的Jobs。(Yes/No )
答案二:
No, Datastage的Manager是用来管理元数据的,如表单结 构,内置和自定义Routines等的,使Datastage用来管理资 源存储的。
? 问题三: Datastage 的Director用来执行编译通过的 Jobs。( Yes/No ) 答案三: Yes ,使用Director来对编译通过的 job进行验证或 者运行,也可以在 jobs运行过程中对其进行监控。
ETL设计开发规范文档
ETL设计说明书错误!未找到引用源。
目录1.概述 (5)2.ETL开发策略 (7)3.ETL系统架构设计 (8)3.1ETL整体框架 (8)3.2ETL系统逻辑架构 (8)3.2.1ETL系统的备份和恢复 (9)4.ETL应用框架设计 (10)4.1ETL应用架构逻辑图 (10)4.2ETL模式 (11)4.3数据抽取(Extract)和数据变换(Convert) (11)4.3.1数据抽取(Extract) (11)4.3.2数据变换(Convert) (11)4.3.3数据分割(Split) (12)4.4数据转换(Transform) (12)4.4.1字段合并与拆分 (12)4.4.2赋缺省值 (12)4.4.3数据排序(Sort) (12)4.4.4数据翻译(Lookup) (12)4.4.5数据合并(Merge) (12)4.4.6数据聚合(Aggregate) (13)4.4.7文件比较(File Compare) (13)4.4.8其他复杂计算 (13)4.5数据加载(Load) (13)4.5.1Pre-Load (13)4.5.2Load (13)4.5.3Post-Load (14)4.6ETL进程和进程调度 (14)4.7管理功能(Management Interface) (14)4.8初始数据、历史数据和日常数据ETL (15)5.开发规范 (16)5.1中间文件 (16)5.2临时文件 (16)5.3BAPI参数文件 (17)5.4ETL程序 (17)5.4.1DataStage Project命名 (17)5.4.2DataStage中Job命名 (17)5.4.3DataStage中Stage命名 (18)5.4.4DataStage中Link命名 (19)5.4.5DataStage中Routine命名 (19)5.4.6DataStage产生的Abap程序命名 (19)5.4.7DataStage中Table Definition命名 (20)5.4.8Store procedure程序命名 (21)5.5Reject文件 (21)5.6系统日志 (21)5.7ODBC (22)5.8版本控制 (22)5.8.1ABAP程序及BAPI程序 (22)5.8.2DataStage Job及Routine (22)5.8.3Store Procedure程序 (22)5.8.4文档 (22)5.9ETL Job开发方法规范 (23)5.9.1TableDefinition的使用原则 (23)5.9.2Extract Job的开发原则 (23)5.9.3CS Job的开发原则 (24)5.9.4Load Job的开发原则 (24)5.9.5Gc和Ge Job的开发原则 (25)5.9.6关于存储过程及BAPI (26)6.系统环境 (27)6.1开发、测试和运行环境规划 (27)6.2文件目录 (27)6.3DataStage Manager目录层级规划 (28)7.ETL应用设计 (30)7.1应用模块架构 (30)7.1.1DataStage Server (30)7.1.2DataBase Server (31)7.2ETL Job设计 (31)7.2.1Schedule Job (31)7.2.2Dependence Job (36)7.2.3Maintance Job (36)7.2.4Group Job (38)7.2.5Component Job (40)7.3ETL环境参数 (42)7.3.1JobParams.cfg文件格式 (42)7.3.2参数说明 (42)7.4公共Routine设计 (43)7.4.1Transform Routine (43)7.4.2Before/After SubRoutine (47)7.5初始ETL程序 (48)8.ETL开发流程及管理 (49)8.1开发环境准备 (49)8.2开发步骤 (49)8.2.1日常数据加载: (49)8.2.2初始数据加载: (49)8.2.3历史数据加载: (49)8.3角色及责任 (50)9.ETL质量控制及错误处理 (52)9.1ETL质量控制主要实现手段 (52)9.2拒绝文件及拒绝处理策略 (52)9.3已入库源数据发生错误的应对策略 (52)附录I.ETL Mapping文件文档模板 (54)附录II.ETL Data Flow文档模板 (55)附录III.ETL Job Dependency文档模板 (56)1. 概述ETL系统的核心功能就是按照本设计说明书的架构,将数据由数据源系统加载到数据仓库中。
ETL开发指南V0.3
08 SQC入库 SQC
2.2.2 任务命名规则
源系统中导出数据在ODM和SDM层的字段级映射基本是贴源的处理考虑到ODM
层、SDM层两层的目标表命名已经将源表名拼接上“数据层次”和“来源系统”因
此对于不同的数据层次的JOB命名有所区别具体见下面的描述
<表名>_<数据日期>.dat
2.3.3 数据加载RJ文件命名
rjd_ods_<数据层次>_<文件名称>_<数据日期>.dat
2.3.4 数据清洗Reject、Warnning文件命名
公共清洗Reject文件命名
文件命名规则rej_<组件类型>_<系统简称>_<数据层次>_<表名称>_<数据日
P4 每季[季末] 调度平台、任务封装
P5 半年[6.30] 调度平台、任务封装
P6 年末 调度平台、任务封装
P7 初始化一次性加载 调度平台、初始化手工
P8 错误重跑时加载
P9 定期同步时加载
PA 年初
PB
历史数据追溯时特
殊处理
测试
上线人员进行
上线
验证人员在程
序上线后进行
验证
开发人员开发
并进行单元测
试
文档机
获取程序、配置、上线步骤及测试案例
测试人根据测
试标准提出测
试方案
角色开发人员
输入Mapping
电子版及纸质变更单
输出程序、配置、单元测试
DataStage安装手册
目录1安装及配置21.1ETL工具D ATA S TAGE的安装配置过程21.1.1系统环境21.1.2用户与组21.1.3修改系统参数21.1.4编译器的安装31.1.5 DS软件安装步骤31.1.6停止与启动服务181.1.7 DataStage配置201安装及配置1.1ETL工具DataStage的安装配置过程1.1.1系统环境1.1.2用户与组创建组dstage 和用户dsadm,并且将dstage作为dsadm的默认组,同时将dsadm添加进dba组。
注意:需要给数据库用户对oracle sys.dba_extents表的select权限。
1.1.3修改系统参数将dsadm的参数修改成下列值:fsize -1 (无限制)data 至少128 MB (262144 512-byte blocks)stack 至少32 MB (65536 512-byte blocks)查看当前设置:ulimit -a设置最大进程数,建议为4096当前设置:lsattr -E -l sys0 | grep maxuproc以上修改需要root权限用户,在安装DS之前请确认好,避免多次使用root用户。
1.1.4编译器的安装开发完的所有JOB都需要进行编译,需要安装C++编译器,最低版本要求见系统环境要求部分。
1.1.5DS软件安装步骤Datastage安装过程需要用到root用户,确保以超级用户root进入系统。
如果是硬盘包,则先解压缩包,执行命令:$ tar xvf C915JNA.tar,再进入解压后的出现的文件夹 Ascential.media目录如果是光盘包,则执行命令: $ mount /cdrom ,再进入 /cdrom目录。
运行命令:$ ./install.sh -admin dsadm进入图1所示画面:图1图1提示安装程序检测是否是新安装DataStage, 输入y,继续安装过程,进入画面提示是root安装还是non-root安装,输入y进入图3所示画面:图3图3所示画面提示版权信息,输入n进入图4所示画面:图4图4所示画面提示版本信息,输入n进入图5所示画面图5图5所示画面提示License Agreement, 输入y进入图6所示画面图6图6所示画面提示选择安装文件中压缩包解压缩的临时路径,目标文件夹必须要600M以上的空间,默认路径为/tmp/dsinstall/unpack,改变输入c,输入n则进入图7所示画面:图7图7所示画面输入DataStage licence,包括序列号,CPU个数,有效日期,授权码等信息。
datastage培训提纲
培训提纲1.ETL定义说明ETL过程指的是从数据源中抽取数据,然后对这些数据进行清洗、转换,最终加载到目标数据库和数据仓库中。
数据抽取:数据抽取主要是针对各个业务系统及不同网点的分散数据,充分理解数据定义后,规划需要的数据源及数据定义,制定可操作的数据源,制定增量抽取的定义。
数据转化和清洗:数据转换是真正将源数据变为目标数据的关键环节,它包括数据格式转换、数据类型转换、数据汇总计算、数据拼接等等。
但这些工作可以在不同的过程中处理视具体情况而定,比如,可以在数据抽取时转换,也可以在数据加载时转换。
数据清洗主要是针对系统的各个环节可能出现的数据二义性、重复、不完整、违反业务规则等问题,允许通过试抽取,将有问题的纪录先剔除出来,根据实际情况调整相应的清洗操作。
数据加载:数据加载主要是将经过转换和清洗的数据加载到数据仓库(或数据库)里面,即入库,操作者可以通过数据文件直接装载或直连数据库的方式来进行数据装载。
2.ETL工具的选择2.1.支持平台随着各种应用系统数据量的飞速增长和对业务可靠性等要求的不断提高,人们对数据抽取工具的要求往往是将几十、上百个GB的数据在有限的几个小时内完成抽取转换和装载工作,这种挑战势必要求抽取工具对高性能的硬件和主机提供更多支持。
因此,我们可以从数据抽取工具支持的平台,来判断它能否胜任企业的环境,目前主流的平台包括SUN Solaris、HP-UX、IBM AIX、AS/400、OS/390、Sco UNIX、Linux、Windows等。
2.2.支持数据源对数据源支持的重要性不言而喻,因此这个指标必须仔细地考量。
首先,我们需要对项目中可能会遇到的各种数据源有一个清晰的认识;其次对各种工具提供的数据源接口类型也要有深入了解,比如,针对同一种数据库,使用通用的接口(如ODBC/JDBC)还是原厂商自己的专用接口,数据抽取效率都会有很大差别,这直接影响到我们能不能在有限的时间内完成ETL任务。
datastage学习文档
工作总结1 如何重新启动DataStage服务器, 步骤如下: (5)2 DataStage开发经验积累: (5)2.1模板开发 (5)2.2通过S ERVER S HARED C ONTAINER在P ARALLEL J OB中添加S ERVER J OB S TAGE (5)2.3去除不需要的字段 (5)2.4T RANSFORMER S TAGE的使用 (5)2.5L OOK UP/JOIN 空值处理 (6)2.6D ATA S TAGE中默认和隐式类型转换时注意的问题 (6)2.7配置一个INPUT或OUTPUT,就VIEW DATA一下,不要等到RUN时再回头找ERROR (6)2.8D ATA型数据是比较麻烦的 (6)2.9行列互换之H ORIZONTAL P IVOT(P IVOT S TAGE) (7)2.10行列互换之V ERTICAL P IVOT (7)2.11O RACLE EE S TAGE在VIEW数据时出现的错误及解决方法 (9)2.12D ATA S TAGE SAP S TAGE的使用 (10)2.13C OLUM I MPORT S TAGE的使用 (10)2.14C OLUM E XPORT S TAGE的使用 (12)2.15G OT ERROR:C ANNOT FIND ANY PROCESS NUMBER FOR STAGES IN J OB J OBNAME解决 (13)2.16U NABLE TO CREATE RT_CONFIG NNN (14)2.17查看JOB和CLIENT的对应的后台进程 (14)2.18强制杀死DS进程 (14)2.19查看S ERVER E NGINE的进程 (15)2.20查看S ERVER L OCKS (15)2.21关于UNIX系统下无法启动服务的解决办法 (16)2.22L OCKED BY OTHER USER (17)2.23DATA S TAGE J OB L OG的处理 (17)2.24一些BASIC语言中处理字符串的函数 (17)2.25BASIC程序中使用到的一些语法知识 (18)3DS中常见问题记录 (22)3.1权限管理问题 (22)3.2JOB MAY BE BEING MONITORED或者是CLEANUP问题 (22)3.3删除文件的问题 (22)3.4SEQUENCE调度出现的错误问题 (23)3.17字符集问题 (23)3.18V ERSION C ONTROL的问题 (23)3.19SEQUENCE调不起JOB的问题 (23)3.20SEQUENCE调度失败的问题 (24)3.21DS发送邮件的配置问题 (25)3.22随机错误问题 (26)3.23DS中的日期问题 (26)3.24DS连接ORACLE问题 (27)。
ETL技术规范(通用)
ETL技术规范第1章.ETL设计规范ETL设计规范主要应用于ETL编码的前期工作。
由于ETL全过程是面向数据的,主要工作为数据的抽取(Extract)、转换(Transform)、装载(Loading),正确界定所涉及到的数据范围和应当应用的转换逻辑对于后续的编码工作非常重要,这些数据关系的确定,我们称之为Mapping(数据映射)。
正确定义数据映射关系是ETL成功实施的前提,一个完善的Mapping应该包含以下几个部分:1.1源数据集属性此部分应该详细描述数据源的相关属性,包括:实体名称——含数据来源名称(DSN)、所有者等信息;字段名称——英文名称;字段简述——中文名称,如为参数信息应该有相关取值解释,如性别字段(1:男;2:女;0:不详)类型——字段类型,含长度和精度信息;非空属性——字段是否可以为空;1.2目标数据集属性此部分应该详细描述目标数据集的相关属性,包括:实体名称——含数据来源名称(DSN)、所有者等信息;字段名称——英文名称,建议根据字段含义来命名,而不是简单用拼音来定义字段(此部分由负责设计数据集的人员控制);字段简述——中文名称,对于保留字段应该给出默认值;类型——字段类型,含长度和精度信息;非空属性——字段是否可以为空;1.3E TL规则主要描述ETL各个环节的转换规则,包括:数据源过滤规则——描述从源数据集获取数据过程中过滤掉记录的规则;关联规则——当源数据集为多个时,描述相互之间的关联关系;列转换规则——描述源数据集到目标数据集的字段间的转换规则;此规则非常重要,要清晰描述字段间的逻辑关系,包括业务逻辑;目标数据集更新规则——描述目标数据集的更新策略,包括更新机制和更新频度,如“每日全量更新”、“每周增量更新”等;ETL作业列表——由于ETL所开发的作业之间包含一定的业务逻辑和编码逻辑,所以调度过程中应遵循一定的逻辑顺序,此部分主要用来明确调度的顺序,包括:作业名称——实现Mapping的作业名称,包括该作业功能描述;调度顺序——用序号或者是流程图模式描述作业的调度顺序,需要综合考虑业务逻辑、编码逻辑以及系统资源等多方面情况,在保证业务逻辑和编码逻辑的基础上,通过控制调度,最大限度地合理利用系统资源;参数列表——列举每个作业中所使用的参数,不同作业中的相同参数最好使用相同的名称,便于调度时进行控制。
datastage经验总结
目录1 如何重新启动DataStage服务器, 步骤如下: (4)2 DataStage开发经验积累: (4)2.1模板开发 (4)2.2通过S ERVER S HARED C ONTAINER在P ARALLEL J OB中添加S ERVER J OB S TAGE (4)2.3去除不需要的字段 (4)2.4T RANSFORMER S TAGE的使用 (4)2.5L OOK UP/JOIN 空值处理 (5)2.6D ATA S TAGE中默认和隐式类型转换时注意的问题 (5)2.7配置一个INPUT或OUTPUT,就VIEW DATA一下,不要等到RUN时再回头找ERROR (5)2.8D ATA型数据是比较麻烦的 (5)2.9行列互换之H ORIZONTAL P IVOT(P IVOT S TAGE) (6)2.10行列互换之V ERTICAL P IVOT (6)2.11O RACLE EE S TAGE在VIEW数据时出现的错误及解决方法 (8)2.12D ATA S TAGE SAP S TAGE的使用 (9)2.13C OLUM I MPORT S TAGE的使用 (9)2.14C OLUM E XPORT S TAGE的使用 (11)2.15G OT ERROR:C ANNOT FIND ANY PROCESS NUMBER FOR STAGES IN J OB J OBNAME解决 (12)2.16U NABLE TO CREATE RT_CONFIG NNN (13)2.17查看JOB和CLIENT的对应的后台进程 (13)2.18强制杀死DS进程 (13)2.19查看S ERVER E NGINE的进程 (14)2.20查看S ERVER L OCKS (14)2.21关于UNIX系统下无法启动服务的解决办法 (15)2.22L OCKED BY OTHER USER (16)2.23DATA S TAGE J OB L OG的处理 (16)2.24一些BASIC语言中处理字符串的函数 (16)2.25BASIC程序中使用到的一些语法知识 (17)3DS中常见问题记录 (21)3.1权限管理问题 (21)3.2JOB MAY BE BEING MONITORED或者是CLEANUP问题 (21)3.3删除文件的问题 (21)3.4SEQUENCE调度出现的错误问题 (22)3.17字符集问题 (22)3.18V ERSION C ONTROL的问题 (22)3.19SEQUENCE调不起JOB的问题 (23)3.20SEQUENCE调度失败的问题 (23)3.21DS发送邮件的配置问题 (24)3.22随机错误问题 (25)3.23DS中的日期问题 (25)3.24DS连接ORACLE问题 (26)3.25在S EQUENCE F ILE S TAGE中的空值处理问题 (26)3.26在DS中使用O RACLE E NTERPRISE S TAGE必须的权限 (26)3.27DS中去除‘回车符’的问题以及从CHAR类型转变成整型的方法 (26)3.28从后台看JOB列表的方法 (27)3.29D ATASTAGE和数据库的连接方法 (27)3.30在DATASTAGE中使用环境变量的问题 (27)3.31IC ONV 和OC ONV (28)3.32在M ERGE中使用特殊字符 (28)4部分常用Stage 的使用说明 (28)5dsjob 语法说明: (30)6如何从DataStage服务器导出所开发的JOBS列表 (31)7查看当前服务器状态信息的方法: (35)8如何在两台机器之间进行FTP文件 (35)9如何获得Jobstatus ,步骤如下: (37)10dsjob –run 的用法 (38)11如何在后台运行和停止一个JOB (39)12DS Oracle EE Stage 配置 (41)11.1安装O RACLE客户端 (41)11.2添加O RACLE用户到DSADM GROUP组选项 (41)11.3配置D ATA S TAGE服务器DSENV文件 (41)11.4配置TNSNAMES.ORA (42)11.5重起D ATA S TAGE服务 (42)11.6配置O ACLE S TAGE抽取的S ELECT权限 (42)11.7O ACLE EE STAGE配置结束 (43)13DS ODBC 的配置 (43)12.1修改$DSHOME/DSENV (43)12.2修改$DSHOME/.ODBC.INI,来提供数据库连接信息; (43)12.3修改$DSHOME/UVODBC.CONFIG,来指定DSN(DATA SOURCE NAME). (44)14ETL系统扩展 (45)15Remote Shell (rsh)的配置 (45)14.1创建并配置.RHOSTS文件 (45)14.2修改/ETC/HOSTS.EQUIV文件 (46)16dsadmin命令的使用 (46)15.1DSADMIN命令的使用 (46)17如何启动JobMonApp (48)18DS.TOOLS (48)19uvsh常用命令 (51)18.1LOGTO P ROJECT N AME --------登录一个工程 (51)18.2DS.TOOLS---------进入DS工具 (51)18.3LIST DS_JOBS--------显示所有的J OB及J OB的分类C ATEGORY (51)18.4LIST DS_JOBS WITH NAME=J OB N AME ------显示某个特定J OB的信息 (51)18.5LIST.READU EVERY-----列出所有的锁及锁的拥有用户U SER N AME (51)18.6UNLOCK USER USERNO ALL----解锁用户锁住的J OBS (51)18.7LIST.INDEX-----列出资料库的索引 (52)20Usage Analysis来进行影响分析 (52)19.1如何启动U SAGE A NALYSIS (52)19.2U SAGE A NALYSIS中S ELECT C OLUMNS的使用 (53)19.3U SAGE A NALYSIS中V IEW HTML的使用 (54)19.4U SAGE A NALYSIS中L OCATE IN M ANAGER的使用 (55)19.5U SAGE A NALYSIS可使用的S OURCE类型 (56)21DS Message Handlers (57)20.1M ESSAGE H ANDLERS的两种级别 (57)20.2M ESSAGE H ANDLERS的三种动作种类 (58)20.3M ESSAGE H ANDLERS的文件格式 (58)22DS Parallel Routine (59)21.1P ARALLEL R OUTINE注意事项 (59)21.2P ARALLEL R OUTINE创建流程 (59)21.3P ARALLEL R OUTINE示例 (60)23uvconfig文件中参数修改方法 (62)22.1修改文件UVCONFIG中的参数 (62)22.2运行UVREGEN (62)22.3重启DS服务 (62)22.4校验 (62)24&PH& (62)23.1CD \&PH\&或CD ‘&PH&’ (62)25DB2支持的数据格式 (63)26DB2中Load语法和基本使用 (64)1如何重新启动DataStage服务器, 步骤如下:1.01启动DataStage Server 的命令要在$DSHOME/bin 目录下进行. 启动之前要切断所有与服务器端的连接:1. 登陆DataStage 服务器,输入: $DSHOME/bin2. 关闭DataStage 服务器 ./uv –admin –stop3. 检查服务器上是否还有进程没关掉,否则服务器无法启动起来,netstat -a | grep ds4. 重起服务器 ./uv –admin –start.Note: 关闭DataStage 服务器后,建议过30 sec 再重起服务器.2DataStage开发经验积累:2.1 模板开发并行JOB中模板的开发可以最大程度的重用并行JOB的构件,节省时间1. 使用JOB参数(PARAMETER)可以在运行时提供参数的值,增加灵活性,可以在不同的环境处理不同的数据;使用JOB PARAMETER 可以在同一时间使用不同参数运行同一个JOB2. Shared Container共享容器可以在多个JOB中共享相同的逻辑,当一个JOB编译时共享容器被嵌入.2.2 通过Server Shared Container在Parallel Job中添加Server Job Stage在Designer中创建一个server shared container,添加需要的Server job stage,再把server shared container添加到parallel job并连接到其他parallel stage. 2.3 去除不需要的字段当从数据库中读取数据时,要尽可能早的去除不需要的字段,只读取需要的字段,而不是整个表,这样可以提高数据读取效率.2.4 Transformer Stage的使用1. 慎用Transformer Stage,因为它可能降低JOB的运行效率,有些功能能合并成一个单独的STAGE的不要用多个STAGE,要用其他的STAGE来代替Transformer Stage 能完成的任务.2. Transformer Stage 的数据流程是先经过constraint的过滤,然后再经过Derivation处理3. 对于确定类型的操作,使用其他STAGE 比使用TRANSFORMER 会更好:(1) 对如下情况,使用Copy Stage 将比Transformer Stage 更好﹡在界面上提供一个JOB 设计占位符﹡重新命名字段﹡删除字段﹡Implicit类型变换(2) 使用Filter Stage 或者Switch Stage 来把输入记录按照限制表式分成多个输出分支.(3) 使用Modify Stage 来explicit 类型变换和Null处理﹡Modify Stage 也可重新命名字段﹡保持(keep)或删除(drop)字段﹡也可增加新字段,并为新增字段赋值,但赋值方式要以字段=字段形式,例如:new_columnname=old_columnname; 但new_columnname=”hf”这样赋值是错误的﹡Null的处理destinationColum=handle_null(sourceColum,Value)destinationColum=make_null(sourceColum,Value),这个使用中有问题,不处理空值2.5 Look up/join 空值处理1. 当使用Lookup Failure = Contunue 时,要把reference link 的非主键设置成Nullable,即使reference data 是非空的,也要设置成Nullable,这样能够确保Lookup 把空值分配给没有匹配的参考非主键2. 如果参考非主键没有设置成Nullable ,将会发生什么:Lookup 将会分配一个默认值给没有匹配的的行:Integer 默认值为0Varchar/char 默认值为空字符串(0长度的)2.6 DataStage中默认和隐式类型转换时注意的问题当从源向目标映射数据时,如果类型不一致,对于有些类型我们需要在modify或transfomer stage中通过函数进行转换,对于有些系统会自动完成类型转换,在类型转换过程中,注意以下几点:1 在变长到固定长度字符串的默认转换中,parallel jobs用空格(ASCII 20)字符来填充剩余长度(环境变量APT_STRING_PADCHAR的默认值也是空格(ASCII20),具体在哪个stage填充的不知.2 通过环境变量APT_STRING_PADCHAR可以改变默认的填充字符null(ASCII0)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DataStage EnterpriseEdition开发指南v2.0目录目录 (I)1. 引言 (1)1.1编写目的 (1)1.2帮助使用 (1)2. 产品概述 (2)3. 常规应用 (3)3.1常用组件使用方法 (3)3.1.1 Sequential file (3)3.1.2 Annotation (7)3.1.3 Change Capture Stage (8)3.1.4 Copy Stage (10)3.1.5 Filter Stage (11)3.1.6 Funnel Stage (12)3.1.7 Tansformer Stage (13)3.1.8 Sort Stage (14)3.1.9 LookUp Stage (15)3.1.10 Join Stage (16)3.1.11 LookUp Stage 和Join Stage的区别 (17)3.1.12 Merge Stage (18)3.1.13 Modify Stage (19)3.1.14 Data Set Stage (20)3.1.15 File Set Stage (22)3.1.16 Lookup File Set Stage (23)3.1.17 Oracle Enterprise Stage (26)3.1.18 Aggregator Stage (28)3.1.19 Remove Duplicates Stage (30)3.1.20 Compress Stage (31)3.1.21 Expand Stage (32)3.1.22 Difference Stage (33)3.1.23 Compare Stage (36)3.1.24 Switch Stage (37)3.1.25 Column Import Stage (39)3.1.26 Column Export Stage (41)3.1.27 Teradata Enterprise Stage (43)3.2常用数据库的连接 (45)3.2.1 Informix数据库连接 (45)3.2.2 Oracle数据库连接 (46)4. 高级应用 (48)4.1D ATA S TAGE BASIC接口 (48)4.2自定义S TAGE T YPE (49)4.2.1 Wrapped Stage (49)4.2.2 Build Stage (49)4.2.3 Custom Stage (49)4.3性能调优 (49)4.3.1 优化策略 (49)4.3.2 关键问题分析 (54)4.3.3 并行度 (54)4.3.4 处理建议 (55)4.3.5 其它 (56)4.3.6 机器的对称性 (56)4.3.7 并行调度测试说明: (56)5. 开发经验技巧汇总 (57)5.1.1 问题 (57)1.引言1.1编写目的IBM DataStage作ODS项目所使用的主要开发工具,在项目中得到了比较充分的应用,对IMB DataStage产品方方面面的功能,都有所涉及。
作为对我们使用本产品的一个技术沉淀,我们编写了这个总结性质的手册,旨在综合描述该产品的安装、常规应用、高级开发等等项目所涉及到的各个方面。
为项目组内部或其他使用该产品的项目组提供一个全面而综合的产品操作指导,帮助使用者能够在最短的时间内了解该产品,并上手使用。
1.2帮助使用由于DataStage产品功能强大,配置复杂,我们不可能在本手册中涉及到所有功能,也无法对每一个描述的能够都给出详尽的例子。
能够为阅读者穿针引线的整理产品的开发思路,通过对常用、基本的功能的描述,让大家掌握到该产品的使用精髓,并能够举一反三的掌握其它本手册没有介绍的功能。
这就是我们的目的。
我们通常使用的帮助有如下两个途径。
a.智能化的帮助功能;产品在几乎所有的操作窗口都有一个Help键,点击该键可以显示出当前使用的界面的功能和各项选项的具体的说明和操作方法。
DataStage独有的智能化的帮助能够指引你方面的查找到你想要得到的帮助。
b.Online Manuals;就是产品安装后程序组中的DataStage Documents,里面更加综合、全面的对整个产品从普通到高级,从Server版到Enterprise Edition版,从For Windows到For Unix等等方面的详尽叙述。
能够帮助更加系统、全面的掌握该产品。
2.产品概述DataStage企业版是原Ascential Software公司所有企业整合系列产品中关键产品。
企业版支持大容量数据的收集、整合和转换,数据从简单结构到很复杂的结构。
基于高可扩展性的软件架购,企业版使得企业能够通过高性能来解决大部分业务问题,并行处理大容量数据。
强大的企业元数据管理能力使得可以在数据整合生命周期中在所有工具中共享和使用工具。
DataStage企业版发布了四个核心功能来成功实施企业数据整合:先进的开发和简单化的维护;企业级别的开发、监测和管理;在吞吐量和性能方面提供了无限制的高扩展的体系架构;端对端的企业级元数据管理。
DataStage企业版提供了全面的功能去最优化用户在建立、升级和管理数据整合架构时的速度、灵活性和效率。
DataStage企业版增强的功能减少了学习的周期、简单化了管理和优化了开发资源的使用,减少了数据整合应用的开发和维护周期。
结果,DataStage企业版使得企业能够花更少的时间开发他们的整合应用,更多的时间是不断的从中受益。
DataStage企业版使用了Client-server架构,如下所示。
图一、DataState企业版Client-Server架构用户通过各个客户端工具访问DataStage企业版的开发、配置和维护功能。
这些工具包括:Designer:用来建立和编辑DataStage作业和表的定义。
Designer 中的“Job Sequencer”控制作业的执行,其他作业成功完成(或失败,等)的条件。
Administrator:用来执行管理任务,如建立DataStage用户、建立和删除工程并且建立清洗标准。
Manager:用来编辑管理用户工程的DataStage资料库。
Director:用来验证、时序安排、运行和监测企业版作业。
如图一所示,DataSage企业版的服务器组件运行在一系列的流行服务器上,如Unix、Windows等。
3.常规应用3.1常用组件使用方法3.1.1Sequential file功能特点:适用于一般顺序文件(定长或不定长),可识别文本文件或IBM大机ebcdic 文件。
使用要点:●按照命名规范命名●点住文件,双击鼠标,在general说明此文件内容,格式,存储目录等●修改文件属性,文件名称,reject方式等到常用选项(Options):✧First Line is Column Names当此选项为True时,对于输入文件,忽略第一行数据(系统认为第一行数据为列名称);对于输出文件,把列名称写入第一行.✧Keep File Partitions设为True,保持所读文件的分区信息.✧Missing File Mode找不到File项所指定的文件时的处理方式.-Error 找不到文件时停止运行JOB.-OK 跳过此文件-Depends 默认为Error,但当文件名中含有前缀*的时候,跳过此文件.✧Reject Mode-Continue 抛弃所有rejected rows.-Fail 一旦出现rejected row,中止JOB.-Output 通过reject link把rejected rows输出至文件或数据库.✧Schema FileSequential File Stage默认使用Format和Columns中的列定义来处理文件中的数据,不过也可以在此选项指定schema文件用做数据的列定义.✧Report Progess是否以日志形式记录处理进度.✧Cleanup On FailureJOB失败时是否清除中间数据.●修改文件格式,比如记录结束符是什么,字段分隔符,字符串是用什么区别等●输入此文件字段内容重要选项:✧Runtime column propagation???3.1.2Annotation功能特点:一般用于注释,可利用其背景颜色在job中分颜色区别不同功能块使用要点:3.1.3Change Capture Stage功能特点:Change Capture Stage有两个输入,分别标记为before link 及 after link。
输出的数据表示before link和after link的区别,我们称作change set。
ChangeCapture Stage可以和Change Apply Stage配合使用来计算after set。
使用要点:●key及value的说明key值是比较的关键值,value是当key值相同是作进一步比较用的。
●change mode选项说明:All keys,Explicit Values 需要指定value,其余字段为key Explicit Keys&Values key及value都需要指定Explicit Keys,All Values 需要指定key,其余的字段为value●输出策略说明Drop Output For CopyFalse:保留before及afte link中key值相同的行True:删除before及afte link中key值相同的行Drop Output For DeleteFalse:保留before link中有但是after link中没有的key值所在的行True:删除before link中有但是afte link中没有的key值所在的行Drop Output For EditFalse:保留key值相同,value不同的行True:删除key值相同,value不同的行Drop Output For InsertFalse:保留before link中没有但afte link中有的key值所在的行True:删除before link中没有但afte link中有的key值所在的行3.1.4Copy Stage功能说明:Copy Stage可以有一个输入,多个输出。
它可以在输出时改变字段的顺序,但是不能改变字段类型。
注意:当只有一个输入及一个输出时最好将Force设置为True,这样可以在Designer里看到运行结束,否则将无法标识运行结束,但不会影响运行结果数据。
设置为FALSE的话,DataStage会根据情况对JOB进行优化,有可能放弃使用此Stage. 3.1.5Filter Stage功能说明:Filter Stage只有一个输入,可以有多个输出。