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 提供调试环境,可以极大提高开发和调试抽取、转换程序的效率。
- 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只有一个输入,可以有多个输出。