DataStage 基础培训1_第1页
DataStage 基础培训1_第2页
DataStage 基础培训1_第3页
DataStage 基础培训1_第4页
DataStage 基础培训1_第5页
已阅读5页,还剩104页未读 继续免费阅读

下载本文档

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

文档简介

1、http:/公司内部使用,请勿外传 DataStage 培训培训第一讲第一讲主讲人:顾伟2010年年5月月17日日http:/公司内部使用,请勿外传 内 容 1 DataStage概述介绍 2 DataStage组成 3 DataStage 数据类型Stage类型、JOB类型 Sequence类型 4 元数据管理 5 DataStage开发基础http:/公司内部使用,请勿外传1 DataStage概述DataStage是Ascential公司的产品,后被IBM以11亿美元收购,作为WebSphere产品线的一个组成部分,命名为IBM WebSphere DataStage。DataStage

2、 可以从多个不同的业务系统中,从多个平台的数据源中抽取数据,完成转换和清洗,装载到各种系统里面。其中每步都可以在图形化工具里完成,同样可以灵活的被外部系统调度,提供专门的设计工具来设计转换规则和清洗规则等,实现了增量抽取、任务调度等多种复杂而实用的功能。其中简单的数据转换可以通过在界面上拖拉操作和调用一些DataStage 预定义转换函数来实现,复杂转换可以通过编写脚本或结合其他语言的扩展来实现,并且DataStage 提供调试环境,可以极大提高开发和调试抽取、转换程序的效率。Data Integration Platform(Ascential公司数据集成管理平台):基于客户机/服务器数据集

3、成架构,datatstage可以优化数据收集、转换和巩固的过程。这种架构支持团队开发,能够充分利用硬件资源。客户端工具是一套集成的图形化工具,他允许多个设计者共享服务器资源,以及设计和管理个人的转换规则。 http:/公司内部使用,请勿外传2 DataStage组成组成DataStage是数据仓库常用的ETL工具。版本7.5.2 企业版是C/S架构,包括以下五个部件: Designer 通过提供“拖放”界面设计平台,以此实现在创建执行数据集成任务JOB的同时,对数据流和转换过程创建一个可视化的演示。 Manager 对每个工程的各个单元,包括库表定义、集中的转换程序和元数据连接等对象进行分类和

4、组织。 Director 为启动、停止和监视作业提供交互式控制。 Administrator 在服务器端管理DataStage的工程和使用者权限的分配。 DataStage Server & Server集群 是数据集成的主要设备。在服务器上,你可以在运行时间内对几个并行的处理过程进行控制,服务器可以安装在NT或UNIX、LINUX环境中,通过调度平台配置服务器集群使JOB能使用多台 Server 资源实现集群资源负载均衡。http:/DataStage功能概述 连接、抽取、转换、加载n图形化的开发环境n用来进行数据整合,功能包括数据抽取,转化,净化,加载到目标数据库或者数据仓库中,

5、即ETL过程(Extract, Transform, Cleansing, Load)。n使用Stage实现对数据的操作。n在整个操作数据的过程中,需要创建从不同的数据源抽取数据的Stage,以及用来转化和净化数据的Stage,还需要一些Stage将数据加载到目标数据库中n一个ETL job就是一些被连线连接在一起的Stagesn数据从一个Stage流向下一个Stage。 http:/公司内部使用,请勿外传DataStage架构图客户端各个组成部分的功能将在下文中描述http:/公司内部使用,请勿外传DataStage Designer-主要功能 ETL Job的开发DataStage Des

6、igner里面包含了DataStage为ETL开发已经构建好的组件, 主要分为两种,一种是用来连接数据源的组件,另一种是用来做数据转换的组件。利用这些组件,开发人员可以通过图形化的方式进行ETL Job的开发 ETL Job的编译开发好ETL Job后,可以直接在DataStage Designer里面进行编译。如果编译不通过,编译器会帮助开发人员定位到出错的地方。 ETL Job的执行编译成功后,ETL Job就可以执行了,在DataStage Designer里面可以运行ETL Job。ETL Job的运行情况可以在DataStage Director中看到,这方面的内容将在介绍DataS

7、tage Director的时候提到。http:/公司内部使用,请勿外传DataStage Manager-主要功能 主要用来管理项目资源,即元数据的管理n定义元数据在DataStage Manager里面可以把数据库中的表结构直接导入到项目中来,供这个项目中的所有ETL Job使用。DataStage Designer也提供了从数据库中直接导入表结构的功能。nETL Job备份一个项目可能包含多个ETL Job,可以用DataStage Manager把一个项目里面的ETL Job导出来。然后再用DataStage Manager导入到另外一个项目中去,利用这个功能一方面可以实现ETL Jo

8、b的备份,nETL Job重用另一方面就是可以在多个项目之间来重复使用开发好的ETL Job。http:/公司内部使用,请勿外传DataStage Director-主要功能 主要用来管理项目资源,即元数据的管理n定义元数据在DataStage Manager里面可以把数据库中的表结构直接导入到项目中来,供这个项目中的所有ETL Job使用。DataStage Designer也提供了从数据库中直接导入表结构的功能。nETL Job备份一个项目可能包含多个ETL Job,可以用DataStage Manager把一个项目里面的ETL Job导出来。然后再用DataStage Manager导入

9、到另外一个项目中去,利用这个功能一方面可以实现ETL Job的备份,nETL Job重用另一方面就是可以在多个项目之间来重复使用开发好的ETL Job。http:/公司内部使用,请勿外传DataStage Server JOB等 DataStage单元运行的基础资源nDataStage Serve支持操作系统:nWindows2000 SP4+ (专业班,服务器版,高级服务器版)nWindows2003 Server(标准版)nSun Solaris 2.8, 2.9, 2.10nIBM AIX 5.1, 5.2, 5.3nHP-UX 111i(11.11) for PA-RISCnHP-UX

10、 11iv2(11.23) for ItaniumnHP/Compaq Tru64 5.1, 5.1A, 5.1BnRed Hat LINUX Advanced Server 3.0nSUSE LINUX Enterprise Server 9nUSS z/OS 1.3+ (for deployment of parallel jobs from DataStage UNIX server) DataStage 集群n DataStage Serve可通过JAVA等应用平台以发送CMD命令方式将不同的JOB分配给不同的SERBER运行,或者将同一JOB分给不同的NOTE节点运行.http:/公

11、司内部使用,请勿外传DataStage Server集群http:/DataServer性能公司内部使用,请勿外传关键问题关键问题 如何满足服务层协议 如何处理未知需求 如何优化硬件投资?如何选择并发性能和串行性能可选择方案可选择方案手工拆分手工编码处理单线程瓶颈分区间加载改变代码来适应硬件的变化手工编码实现并行数据库和分区结构当前系统实时企业需求记录重分片 自动执行 当发生以下情况不需要重新分片 增加处理器 改变硬件结构分片的范围宽 方法整个, hash, 系数源数据源数据抽取抽取 转换转换 加载加载数据数据仓库仓库http:/公司内部使用,请勿外传 数据类型 参数变量 job类型 常见St

12、age类型3 DataStage数据类型、Stage类型、JOB类型http:/公司内部使用,请勿外传数据类型 企业版提供了丰富的数据数据类型,包括日期型(Date),十进制型 (Decimal), 浮点型(Floating point),整型(Integer),字符串(Sting),时间(Time),时间截(Timestamp);另外一种是附加类型,包括矢量型(Vector),记录型(Subrecord),Tagged,Raw。 vector,相当于C语言数组。 subrecord类型与vector类似,不同的是它的元素可以是不同类型的,与C语言结构体相似。 tag类型,与subrecord

13、类型类似,不同的是它的第一个元素必须是标签。 http:/公司内部使用,请勿外传DS变量 系统变量,用于对系统的各属性进行设置. 用户自定义变量,在这里的变量都可以被工程下的其它所有元素应用。 系统函数Routine,系统函数可理解为内置函数,包括各种类型的转换函数和Routinehttp:/系统变量公司内部使用,请勿外传 以开头的变量 通常为只读 例如:nDATEnDAYnINROWNUMnOUTROWNUM 更多参见Server Job Developers Guide P299http:/公司内部使用,请勿外传用户自定义变量 start_date,end_date 主要用于处理逻辑日期的

14、开始、结束日期,为JOB缺省参数; Type为String,Value为任意值,格式类似为2007-09-03;file_path 用于指定ETL过程中相关文件的存放路径; Type为String,Value为服务器存放路径“/etldata/dsadm”;period_id 用于类似会计期、时间维等period_id变量存储;XX_data_source 用于与数据库进行交互的链接(ETL服务器的链接串);XX_user_name 用于与数据库进行交互的链接的用户名;XX_password 用于与数据库进行交互的链接的密码;http:/系统函数,什么叫Routine公司内部使用,请勿外传 系

15、统函数可理解为内置函数,包括各种类型的转换函数和Routine Routine可理解为就是函数,包括三种类型:nBuilt-in before/after subroutines:Routines-Built-in-Before/AfternExamples of transform functions: Routines-Examples-FunctionsnTransform functions used by the SDK transformshttp:/公司内部使用,请勿外传Job类型 分为 原子job、sequence job和job control三大类。 原子 job 最为常用

16、的Job类型,Job可以组合使用,原子job是Job的最小单位。 Sequence job Job Sequence主要用于Job间的协作工作控制,如各Job的执行流程,出错处理,文件文件监控等。本身只起到流程的控制作用,真正还要调度具体的原子job才能实现特定的功能。 Control job 是一种特殊的原子job,这种原子job不是通过Designer来设计的,而是直接通过DataStage内嵌支持的Basic语言来开发,因此方式更为灵活,完全可以利用Job Control替代Job Sequence,因为在出错处理和Log输出等方面要灵活很多。 http:/公司内部使用,请勿外传Stag

17、e 类型 General Stage 数据库Stage 调试Stage 文件Stage 处理Stage http:/公司内部使用,请勿外传General Stage主要包括主要包括Container、 、Annotation、 、Description Annotation、 、Link。 。Annotation 对Stage和Link功能等进行注释。 一个Job可以有多个Annotation 。 设定方法和Description Annotation相同。General Stagehttp:/公司内部使用,请勿外传General StageDescription Annotation 对JO

18、B属性进行注释,一个JOB只能有一个Description Annotation。设定方法如下:http:/公司内部使用,请勿外传Data Base Stage目前常到用的DataStage中的连接数据库的Stage有Oracle Enterprise, ODBC Enterprise, Stored Procedure, Dynamic RDBMS几种。Oracle Enterprise Stage Oracle Enterprise作为数据源,可有一条输出线,作为目标数据,可以有一条输入线和一条reject线。 http:/公司内部使用,请勿外传A。可直接输入名称密码,如下 Passwor

19、d=* User=hwdw Remote Server=BISTR9_TSB。可用参数,如下: Password=#$BISTR9_PASS# User=#$BISTR9_TS_USER# Remote Server=#$BISTR9_TS_SID#Oracle Enterprise的使用方法。第一步:设定要连接的Oracle数据库名称和密码。如下图:第二步:如果Oracle Enterprise是作为数据源,需要设定读取数据的方法。如果是作为目标数据,需要设定写数据的方法。第三步:设定字段。Data Base Stagehttp:/公司内部使用,请勿外传ODBC Enterprise Sta

20、ge ODBC Enterprise作为数据源,可有一条输出线,作为目标数据,可以有一条输入线。 采用ODBC Enterprise可以连接Oracle,SQL Server等多个数据库。 ODBC Enterprise的使用方法。 第一步:需要在服务器端设定一个数据源名。 第二步:设定数据连接。 第三步:如果ODBC Enterprise是作为数据源,需要设定读取数据方法。 如果是作为目标数据,需要设定写入数据的方法。 第四步:设定字段。Data Base Stagehttp:/公司内部使用,请勿外传 Stored Procedure Stage Stored Procedure可以连接Or

21、acle,DB2,Sybase三种数据库。它可以调数据库中的存储过程,或者执行用户定义的SQL语句。 Stored Procedure的使用方法。第一步:设定数据连接。如下图: 第二步:设定要调用存储过程或者要执行的SQL语句。调用存储过程设定如下:可以直接输入数据库连接和用户名及密码,也可用变量。变量的写法如下:#parameter#Data Base Stagehttp:/公司内部使用,请勿外传 Column Generator StageColumn Generator可以新增列,并且随机的数据来填充这些列的值。可以有一条输入线和一条输出线。Column Generator的使用方法:

22、第一步:设定要生成的列名 第二步:设定要输出的列,如下图:Development/Debug Stage要生成的列输入新生成的列名将要输出的字段从左边拖到右边http:/公司内部使用,请勿外传 Row Generator StageRow Generator可以根据用户的定义可以随机生成行数据,没有输入Link,可以有一条输出Link.Row Generator的使用方法第一步:设定要生成的记录数,如下图: 第二步:设定要输出的列,如下图:Development/Debug Stagehttp:/公司内部使用,请勿外传第三步:设定生成记录的算法(双击设定列的行头),如下左图:Developme

23、nt/Debug Stagehttp:/公司内部使用,请勿外传 Peek StagePeek是在调试Job时,打印出记录值,根据用户选择的结果,将记录打印到job log或者输入到文件中。 Peek可以有一条输入数据线和多条数据线。 Peek的使用方法: 设定要打印的记录数,打印的列,打印的分区和将记录打印到job log还是文件中(如上右图)。Development/Debug Stage设定打印的记录数设定打印的列设定打印的分区设定将记录打印到job log还是文件http:/公司内部使用,请勿外传 Data Set StageData Set是DataStage中用来存储各管理数据,一个

24、Job保存为Data Set的数据同时可以被其它Job使用。Data Set在操作系统中是以.后缀名为.DS的文件存储。Data Set可以作为数据源有一条输出数据线,可以作为目标数据有一条输入线。 Sequential File StageSequential File可以读取一个Flat文件,或者写入一个Flat文件,作为数据源时,可以有一条输出线和reject 线,作为目标数据时,可以有一条输入线和一条reject线。File Stagehttp:/公司内部使用,请勿外传 Lookup File Set StageLookup File Set可以创建一个查找的文件 或者作为Lookup

25、的一个参考集。作为数据源时,Lookup File Set只能有一个输出线且只能为Lookup的参考输入,作为目标数据时,Lookup File Set只有一个输入线。 File Set StageFile Set可以读取数据从一个文件上,或者可以将数据写入到一个文件。File Set可以有一个输入数据线,一条输出数据线和一条reject线。File Stagehttp:/公司内部使用,请勿外传示例:File Stagehttp:/公司内部使用,请勿外传 Aggregator Stage 目的: 汇总数据 特性: 决定汇总组的字段可以有0个或多个。 汇总函数:count (nulls/non-

26、nulls)sum Min, maxMeanMissing value countNon-missing value countPercent coefficient of variationProcessing Stagehttp:/公司内部使用,请勿外传Grouping MethodsHash: 每条汇总结果都存放在哈希表中,并且只有当所有输入处理完毕才进行结果输出该方式不需要进行数据排序,适合进行少量的数据输入。Sort: 内存只存放一条汇总结果,当有新的汇总记录产生,前一条汇总记录将输出。该方式需要按照汇总的字段进行排序可以处理大量的数据Example: 信用卡的日均余额Process

27、ing Stagehttp:/公司内部使用,请勿外传Aggregator PropertiesProcessing Stagehttp:/公司内部使用,请勿外传Processing Stage Copy Stage复制一条输入数据集成多条输出数据集 。一条输入多条输出http:/公司内部使用,请勿外传Processing Stage-Properties TabForce (Options Category)选择 True 时,DataStage 即使在只有一条输入和一条输出时也会使用Copy组件进行数据复制; 默认设置的值是 False,在上述情况时会忽略Copy组件就像没有一样.-Mapp

28、ing Tab输出和输入的对应映射。http:/公司内部使用,请勿外传Processing StageCompare Stage两条输入一条输出http:/公司内部使用,请勿外传Compare StageProperties Tab:- Abort On Difference设置为True时,当两条输入的任何一条记录比较出现偏差这个组件就会Abort,默认值是 False。 设置为True时,不能再设置 Warn on Record Count Mismatch.- Warn on Record Count Mismatch设置为True时,当两条输入的记录总数不一致时导致比较Abort时系统

29、发出一条警告信息。默认值是 False。设置为True时,不能设置 Abort on difference 为.True。http:/公司内部使用,请勿外传- Equals Value设置两条输入记录相同时结果值 ,默认是0 .- First is Empty Value当第二条输入的记录总数超过第一条输入的记录总数时返回的结果值,范围在 -128 127 。输出结果用于指明第一条输入是空的情况,默认值是 1.- Greater Than Value当第一条输入的某一记录值大于第二条输入的相对应的记录值时返回的结果值,范围在 -128 127 。输出结果用于指明第一条输入的某一记录的情况,默认

30、值是 2。Compare Stagehttp:/公司内部使用,请勿外传Less Than Value当第一条输入的某一记录值小于第二条输入的相对应的记录值时返回的结果值,范围在 -128 127 。输出结果用于指明第一条输入的某一记录的情况,默认值是-1.Second is Empty Value当第一条输入的记录总数超过第二条输入的记录总数时返回的结果值,范围在 -128 127 。输出结果用于指明第二条输入是空的情况,默认值是 -2.Key指定一个或多个关键字段,用于进行比较,只有选择了的字段才进行比较并确定返回结果Compare Stagehttp:/公司内部使用,请勿外传Key col

31、umns: bcol1 and bcol4Compare Stagehttp:/公司内部使用,请勿外传Processing Stage Difference Stage两条输入,一条输出输入结果用于指明输入的差异性http:/公司内部使用,请勿外传 Filter Stage用于过虑符合指定条件的记录一条输入,多条输出,一条reject(optionally)Processing Stagehttp:/公司内部使用,请勿外传Properties Tab:Where clause指明过滤并输出哪些记录,使用类似where的语句output links 指标该条件作用于哪些输出。 output re

32、ject 当输入的记录对所有的输出的条件都不成立时是否reject 。output row only once 指明输出是否只要第一条符合条件的记录还是所有记录。Filter Stagehttp:/公司内部使用,请勿外传Filter StageLink Ordering Tab:- 用于指定输出的顺序,这个对应当设置了output row only once 选项为True时更加重要。.Mapping Tab:-用于指明输入与输出的映射关系。Where clause的表达式: 输入字段. 与输入字段相关的表达. 常量(用于比较). 布尔表达式 AND ,OR.Examples:name1 na

33、me2;serialno is null;number1 0 and number2 3 and number3 = 0 or name = ZAGhttp:/公司内部使用,请勿外传Processing Stage Funnel Stage组合各个数据集成一个数据集多个输入一个输出http:/公司内部使用,请勿外传Funnel Stage三种模式:Continuous Funnel : 没有顺序的组合输入数据集. 一般是从各个输入轮流获取一条记录。如果某一条输入的数据无效,不等待该输入的有效数据直接跳到下一条输入获取数据。 Sort Funnel : 根据指定的关键字段组合输入(输入也要根据这

34、些关键字段已排好顺序),并按照这些关键字段进行有序输出. Sequence: 先把第一条输入全部输出,再将第二条输入全部输出,依次类推。http:/公司内部使用,请勿外传Processing Stage Remove Duplicates Stage一条排序的输入一条没有重复记录的输出 当两条记录彼此邻近而且关键字段相同,就认为是记录重复。http:/公司内部使用,请勿外传Remove Duplicates输入必须是排序的,相同关键字段的记录才能相邻-Properties TabKey 指定关键字段,可以有一个或多个.Duplicate to retain 指定重复的记录哪条保留,默认值是第一

35、条。.去除重复记录的方法:1.使用Sort stage 的 unique option2.使用Remove Duplicates stage(有更多的方式进行选择)http:/公司内部使用,请勿外传 Join Stage在一个或多个输入数据集合上执行连接操作并输出一个结果数据集;四种连接操作支持:Inner、Left Outer、Right Outer和 Full Outer;两个或多个输入(事先排序),一个输出 LeftPrimary Input Right Secondary input 事先的排序减轻了Join的工作量,只有少量的行需要进入RAM遵循关系型数据库模型 如果发生重复会产生笛

36、卡儿乘积 匹配不到的数据可以被捕获(Right outer、Left outer、 Full outer)Processing Stagehttp:/公司内部使用,请勿外传Join Stage Example1http:/公司内部使用,请勿外传 Merge Stage输入:1个Master,N个Update输出:1个output,reject的个数与Update对应(可选)在进入RAM前对Master、Update进行排序Master的Key值允许重复,通过选择Drop/Keep来捕获Update的Key值允许重复,当Update1时,Key值重复的Update记录可以被捕获;但当update

37、1时,只保留一条记录对于Master,没有匹配的数据通过选择Drop/Keep来捕获对于Update,没有匹配的数据通过Reject捕获Processing Stagehttp:/公司内部使用,请勿外传Merge Stage Example1 两个输入对不能匹配的结果是否保留:KEEP/DROPhttp:/公司内部使用,请勿外传Merge Stage Example2 三个输入http:/公司内部使用,请勿外传 Lookup Stage多个输入:一个Source Link,多个Reference Link;一个输出:一个output link;一个Reject Link(可选);当匹配不成功时

38、的选项: Continue,Drop,Fail,Reject由于Lookup是在内存中进行排序、匹配的,所以进行Lookup的表不能太大。Processing Stagehttp:/公司内部使用,请勿外传Lookup Stage Examplehttp:/公司内部使用,请勿外传Comparison: Joins, Lookup, MergeJoinLookupMergeMemory usageLightHeavyLightNumber and names of inputs2 or more: left, right1 Source, N LU Tables1 Master, N Udate(

39、s)Mandatory input sortBoth inputsNoAll inputsDuplicates in primary inputOKOkWarningDuplicates in secondary inputOKWarningOK only when N=1Options on unmatched primaryKeep (left outer), Drop (inner)fail | continue | drop | rejectkeep | dropOptions on unmatched secondaryKeep (right outer), Drop (inner)

40、NONECapture in reject set (s)Number of output11 out, (1 reject)1 out , (N rejects)Captured in reject set(s)NothingUnmatched primary entriesUnmatched secondary entrieshttp:/公司内部使用,请勿外传Processing Stage Change Capture Stage两个输入:两个输入:Before、After;一个输出。;一个输出。Change Capture 的功能是的功能是“捕获变化捕获变化”。即将两组数据进行对比,。

41、即将两组数据进行对比,Before经过何经过何种变化变为种变化变为After(设置某个字段为(设置某个字段为Key Column,设置另一个字段为,设置另一个字段为Value作为比作为比较的依据):较的依据): 0:Copy (当(当Key Column与与Value 完全一致时)完全一致时) 1:Insert (After中存在该记录,但中存在该记录,但Before中不存在中不存在) 2:Delete (Before 中存在该记录,但中存在该记录,但After中不存在)中不存在) 3:Edit (After与与Before的的Key Column一致,但一致,但Value不同)不同)结果的展

42、示通过结果的展示通过“Properties”中的中的“Options”设置设置http:/公司内部使用,请勿外传Change Capture Stage Examplehttp:/公司内部使用,请勿外传Processing Stage Transform基本功能 数据计算,通过利用系统函数和表达式进行数据列计算转换,输入输出Mapping 数据分流,定义constraints数据分流、过滤http:/公司内部使用,请勿外传Transform Stage定义变量,可以在定义变量,可以在整整Transform中使用Transform Stage-数据计算http:/公司内部使用,请勿外传Trans

43、form StageTransform Stage-数据分流过滤http:/公司内部使用,请勿外传Processing StageSort Stagehttp:/公司内部使用,请勿外传Processing StageSwitch Stage -选择选择分支分支http:/公司内部使用,请勿外传Switch Stage 功能说明:将文件按照一定的条件(一般为字段的值)分割成多个子文件。具体是将输入的每一条记录按照各自符合的条件(关键字的值)分配到不同的输出(Switch Stage 有一个input link 和多个output link,一个 reject link,output link最多

44、可达128个;此功能很类似与C函数中的switch函数)。http:/公司内部使用,请勿外传Job实例介绍 3.5.1 Lookup Stage 和Aggregator应用实例3.5.2差集Minus的DS实现http:/公司内部使用,请勿外传Lookup Stage 和Aggregator应用实例关联维表,通过ID找名称,并对数据进行汇总http:/公司内部使用,请勿外传差集Minus的DS实现一、用Lookup实现Minus 1、将、将Minus的字段在的字段在Lookup Stage中关联。中关联。http:/公司内部使用,请勿外传 2、在、在lookup 的的constraint 里将

45、里将lookup failure 设为设为reject, Reject Link输输 出的数据就是出的数据就是minus的结果。的结果。http:/公司内部使用,请勿外传二、用Change Capture实现Minus实现Minus的操作:若若T1 minus T2,那么,将,那么,将T1设为设为after,T2设为设为before。 Change capture的设置:的设置:http:/公司内部使用,请勿外传局限:T1 minus T2, 如果T1里面多条数据,对应T2一条,则结果不正确。T1:T2:SQL Minus的结果Change Capture的结果多了一条记录!多了一条记录!ht

46、tp:/ Sequence基础 控件介绍 参数变量及流程控制介绍 公司内部使用,请勿外传http:/Sequence Stage公司内部使用,请勿外传Description Annotation 对Sequence实现功能进行注释,一个Sequence只能有一个Description Annotation。设定方法如下:http:/Sequence Stage公司内部使用,请勿外传StartLoop_Activity & EndLoop_ActivityStartLoop_Activity 设设置循置循环环开始步开始步骤骤,循,循环环次数,循次数,循环终环终止步止步骤骤http:/Se

47、quence Stage公司内部使用,请勿外传EndLoop_Activity 设设置循置循环终环终止点,需要将止点,需要将终终止止STAGE链链接到接到StartLoop_Activity上去形成一个上去形成一个闭闭合合环环路路http:/Sequence Stage公司内部使用,请勿外传Exception Handler Stage 这个Stage只有输出没有输入,该Stage的作用是在sequence发出警告信息发出警告信息(JOB发生错误的时候)将该sequence 停掉。http:/Sequence Stage公司内部使用,请勿外传 Execute Command Stage 该ST

48、AGE用于调用放置在DS SERVER端的SHELL脚本或其他的命令脚本这里填写所调用脚本这里填写所调用脚本 需要用到的参数需要用到的参数http:/公司内部使用,请勿外传 Job Activity Job Activity 有一条 Input线和一条Output线. 在 JOB 选项中可以将需要运行的JOB导入. Trigger 选项卡中可以选择根据当前JOB运行后的结果对进行下个动作 Sequence Stagehttp:/Sequence Stage公司内部使用,请勿外传 1.1.7 Nested_ConditionNested Condition 可以根椐用户的定义条件进行后面的动作该

49、组件具有一条Input 、多条Output线http:/Sequence Stage公司内部使用,请勿外传 Notification_ActivityNotification_Activity 配置邮件服务器对应的信息发送邮件http:/Sequence Stage公司内部使用,请勿外传 1.1.7 Routine_Activity 该控件提供在sequence中调用 RT的功能。该控件有一条Input 线和多条Output 线http:/Sequence Stage公司内部使用,请勿外传 1.1.8 Sequencer 该控件用于终止Sequence流程的执行该控件具有多条Input 线和多

50、条Output线http:/Sequence Stage公司内部使用,请勿外传 Terminator_Activity该控件提供停止所有当前活动该控件提供停止所有当前活动JOBJOB发送发送STOPSTOP命令到各活动命令到各活动JOBJOB的功能的功能发送发送STOP命令到各命令到各RUNNING JOB直接将各运行直接将各运行JOB 置为置为 Abort状状态态http:/公司内部使用,请勿外传 Wait_For_File_Activity该控件提供等待某个控制文件出现后激活整个该控件提供等待某个控制文件出现后激活整个 SequenceSequence的功能的功能 Sequence Sta

51、gehttp:/Sequence Stage公司内部使用,请勿外传 UserVariables_Activity该控件提供在该控件提供在SequenceSequence运行的过程中修改参数及添加参数的能力运行的过程中修改参数及添加参数的能力http:/Sequence 的编译和运行公司内部使用,请勿外传http:/4.元数据管理 如何自定义自己的元数据 如何引用元数据公司内部使用,请勿外传http:/如何自定义自己的元数据公司内部使用,请勿外传n 使用DataStage Manager定义元数据n 元数据的类型包括:表定义,数据元素,自定义函数等等n 元数据可导入导出n 可分析元数据在项目中的

52、使用情况n 在开始一个项目之前,建议考虑下面的因素:n要访问的数据源的数目和类型n数据的位置n是否需要从主机数据源提取数据。如果是,那么需要安装Enterprise MVS Edition。n数据的内容。都有哪些列?能导入表定义吗?还是需要手工定义表定义?数据的定义与其他数据源的定义一致吗?n数据仓库。想要在数据仓库中保存哪些内容,以及如何保存?n 因此,整体的项目顺序是:Administrator-Manager-Designer-Directorn 建议:建立项目的元数据命名规范http:/公司内部使用,请勿外传5 DataStage实例开发基础 开发一个简单的ETL Job 业务场景:

53、将要开发的Job是把Oracle数据库CRMDMO中的表employee的内容导入到同一数据库中的另一个表XXX_employee中去。其中两个表的结构是相同的。employee表的结构为: http:/公司内部使用,请勿外传开发一个简单的ETL JOB 步骤1n 用DataStage Administrator登录到DataStage Server。Host system是安装DataStage Server的主机,输入它的IP地址或者主机名。另外再输入用户名和密码后,单击按钮OK n 登录后,在标签Projects中可以看到目前这个DataStage Server上面所有的项目。单击按钮A

54、dd新建一个项目http:/公司内部使用,请勿外传开发一个简单的ETL JOB步骤2n 输入项目名SampleProject,项目存储的默认路径是DataStage安装路径的Projects目录下面。n 单击按钮“Browse”来改变默认路径。n 注意不要钩上选择框Create protected project,因为如果钩上的话你所创建的工程将没办法被改变。n 单击按钮OK,可以看到在项目列表里面已经有了我们刚创建好的项目SampleProject,单击按钮Close关闭DataStage Administratorhttp:/公司内部使用,请勿外传开发一个简单的ETL JOB 步骤3n 用

55、DataStage Designer登陆到DataSatge Server,输入DataStage Server的IP或主机名以及用户名和密码,并指定Project为我们刚才创建的项目SampleProject。单击按钮OKn 在DataStage Designer当中单击File-New创建一个新的ETL Jobhttp:/公司内部使用,请勿外传开发一个简单的ETL JOB 步骤4 选择Parallel Job,单击按钮OK 一个新的ETL Job已经创建了,单击工具栏上的图标“保存”,或者用快捷键“CtrlS”来保存,这时候一个保存ETL Job的对话框会弹出来 在弹出的对话框中。在Job

56、 name一栏输入SampleJob,在Category中输入Sample。单击按钮OK http:/公司内部使用,请勿外传开发一个简单的ETL JOB 步骤5n 保存好刚创建的ETL Job后,用Designer来导入数据库的表结构。在DataStage Designer的左下方的Repository中右键单击Table Definition。然后选择 ImportPug-in Meta Data Definitions n 在弹出的对话框中选择ORACLE9,单击按钮OK http:/公司内部使用,请勿外传开发一个简单的ETL JOB 步骤6n 在弹出的对话框中,Server Name选择

57、Source。输入用户名和密码,然后点击NEXTn 选择Tables复选框之后单击按钮Next n 选择表ps_employee,把要保存到的目录改成SampleSource。然后单击按钮 Importhttp:/公司内部使用,请勿外传开发一个简单的ETL JOB 步骤7重复上述步骤把存储在数据库中的表XXX_employee的表结构导入进来,这次存放的路径改成SampleTarget。完成后,可以在Repository中看到你导入的表结构 http:/公司内部使用,请勿外传开发一个简单的ETL JOB 步骤8 从左边的面板中拖入两个Oracle_OCI Stage到右边的面板上。Oracle_OCI Stage是用来连接Oracle数据库的,这两个Stage一个用来连接表employee,另一个用来连接表XXX_employee 右键单击左边的Stage不要放开,一直拖拽鼠标到右边的Stage上面。这时候在这两个Stage之间会出现一条连线,代表了数据的流向。 下面我们将配置这两个Stage的属性 http:/公司内部使用,请勿外传开发一个简单的E

温馨提示

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

评论

0/150

提交评论