Datastage控件使用指南.docx

上传人:b****6 文档编号:5362447 上传时间:2022-12-15 格式:DOCX 页数:45 大小:3.19MB
下载 相关 举报
Datastage控件使用指南.docx_第1页
第1页 / 共45页
Datastage控件使用指南.docx_第2页
第2页 / 共45页
Datastage控件使用指南.docx_第3页
第3页 / 共45页
Datastage控件使用指南.docx_第4页
第4页 / 共45页
Datastage控件使用指南.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

Datastage控件使用指南.docx

《Datastage控件使用指南.docx》由会员分享,可在线阅读,更多相关《Datastage控件使用指南.docx(45页珍藏版)》请在冰豆网上搜索。

Datastage控件使用指南.docx

Datastage控件使用指南

Datastage

控件使用指南

1.引言

DataStageEE的开发主要由DataStageDesigner完成。

现对常用部分加以说明,详细使用方法请查阅在线帮助文档。

2.常用Stage使用说明

DataStage的基本逻辑处理单位是Job,每个Job由许多Stage组成;由Stage来完成对数据的抽取,转换,加载等,现对常用的Stage做说明

2.1.SequentialFileStage

功能特点:

适用于一般顺序文件(定长或不定长),可识别文本文件或IBM大机ebcdic文件。

使用要点:

Ø按照命名规范命名

Ø点住文件,双击鼠标,在general说明此文件内容,格式,存储目录等

Ø修改文件属性,文件名称,reject方式等到

Ø修改文件格式,比如记录结束符是什么,字段分隔符,字符串是用什么区别等

Ø输入此文件字段内容

                

2.2.Annotation

功能特点:

一般用于注释,可利用其背景颜色在job中分颜色区别不同功能块

使用要点:

                 

2.3.ColumnExportStage

ØStage类型:

RestructureStage

Ø功能说明:

与ColumnImportStage相反,将多个类型不同的字段合并成一个string或者binary类型的字段。

Ø具体用法:

✓StagePage:

关键是properties的配置,选择将哪些字段合并,合并后的新字段在Output下的column中直接定义。

✓InputsPage:

对输入数据字段的描述,这里关键是Format的配置,决定合并后的字段的格式

✓OupputsPage:

对最终合并后的输出数据字段的描述

✓经过stage的前后数据的对比

合并字段后:

 

2.4.ChangeCaptureStage

Ø功能特点:

ChangeCaptureStage有两个输入,分别标记为beforelink及afterlink。

输出的数据表示beforelink和afterlink的区别,我们称作changeset。

ChangeCaptureStage可以和ChangeApplyStage配合使用来计算afterset。

Økey及value的说明

key值是比较的关键值,value是当key值相同是作进一步比较用的。

Øchangemode选项说明:

Allkeys,ExplicitValues需要指定value,其余字段为key

ExplicitKeys&Valueskey及value都需要指定

ExplicitKeys,AllValues需要指定key,其余的字段为value

Ø输出策略说明

DropOutputForCopyFalse:

保留before及aftelink中key值相同的行

True:

删除before及aftelink中key值相同的行

DropOutputForDeleteFalse:

保留beforelink中有但是afterlink中没有的key值所在的行

True:

删除beforelink中有但是aftelink中没有的key值所在的行

DropOutputForEditFalse:

保留key值相同,value不同的行

True:

删除key值相同,value不同的行

DropOutputForInsertFalse:

保留beforelink中没有但aftelink中有的key值所在的行

True:

删除beforelink中没有但aftelink中有的key值所在的行

2.5.CopyStage

Ø功能说明:

CopyStage可以有一个输入,多个输出。

它可以在输出时改变字段的顺序,但是不能改变字段类型。

注意:

当只有一个输入及一个输出时最好将Force设置为True,这样可以在Designer里看到运行结束,否则将无法标识运行结束,但不会影响运行结果数据。

2.6.FilterStage

Ø功能说明:

FilterStage只有一个输入,可以有多个输出。

根据不同的筛选条件,可以将数据输出到不同的outputlink。

2.7.FunnelStage

Ø功能说明:

将多个字段相同的数据文件合并为一个单独的文件输出

Ø合并策略说明

ContinuousFunnel:

从每一个inputlink中循环取一条记录

SortFunnel:

按照Key值排序合并输出

Sequence:

先输出第一个inputlink的数据,输出完毕后再输出第二个inputlink的数据,依此类推,直到结束。

(此时可以通过调整linkOrdering调整输出顺序)

2.8.TansformerStage

Ø功能说明:

一个功能极为强大的Stage。

有一个inputlink,多个outputlink,可以将字段进行转换,也可以通过条件来指定数据输出到那个outputlink。

在开发过程中可以使用拖拽。

ØConstraint及Derivation的区别

Constraint通过限定条件使符合条件的数据输出到这个outputlink。

Derivation通过定义表达式来转换字段值。

在Constraint及Derivation中可以使用Jobparameters及StageVariables。

Ø注意:

TransformerStage功能强大,但在运行过程中是以牺牲速度为代价的。

在只有简单的变换,拷贝等操作时,最好用ModifyStage,CopyStage,FilterStage等来替换TransformerStage。

2.9.SortStage

功能说明:

只能有一个输入及一个输出,按照指定的Key值进行排列。

可以选择升序还是降序,是否去除重复的数据等等。

ØOption具体说明

AllowDuplicates:

是否去除重复数据。

为False时,只选取一条数据,当StableSort为True时,选取第一条数据。

当SortUnility为UNIX时此选项无效。

SortUtility:

选择排序时执行应用程序,可以选择DataStage内建的命令或者Unix的Sort命令

OutputStatistics:

是否输出排序统计信息到job日志

StableSort:

是否对数据进行二次整理

CreateClusterKeyChangeColumn:

是否为每条记录创建一个新的字段:

clusterKeyChange。

当SortKeyMode为Don’tSort(PreviouslySorted)或Don’tSort(PreviouslyGrouped)时,对于第一条记录该字段被设置为1,其余的记录设置为0。

CreateKeyChangeColumn:

是否为每一条记录创建一个新的字段KeyChange。

2.10.LookUpStage

Ø功能说明:

LookUpStage把数据读入内存执行查询操作,将匹配的字段输出,或者在在符合条件的记录中修改或加入新的字段。

2.11.JoinStage

Ø功能说明:

将多个表连接后输出

 

●LookUpStage和JoinStage的区别

LookUpStage将数据读入到内存中,所以效率很高,但是占用了较多的物理内存。

所以当referencedata比较小的时候,我们推荐用LookUpStage;当referencedata比较大的时候,我们推荐用JoinStage。

2.12.MergeStage

Ø功能说明:

将MergeKey值相同的记录合并。

将其中的一个输入设定为Master,其余的为Update。

把Update中MergeKey相同的记录合并入Master。

2.13.ModifyStage

Ø功能说明:

Modifystage只能有一个输入及一个输出,它可以修改表结构:

删除,保留一个字段;给字段改名;修改字段的数据类型。

ØSpecification的具体用法:

删除一个字段:

DROPcolumnname[,columnname]

保留一个字段:

KEEPcolumnname[,columnname]

改变字段:

new_columnname[:

new_type]=[explicit_conversion_function]old_columnname

可用的explicit_conversion_function请参看《ParallelJobDeveloper’sGuide》page28-7

2.14.DataSetStage

ØStage类型:

Filestage

Ø功能说明:

从dataset文件中读取数据或者写数据到dataset文件中,一个DateSetStage只能有一个输入连接(inputlink)或者一个输出连接(outputlink)。

Ø具体用法:

包括StagePage,InputsPage,OutputsPage

✓StagePage通常描述了stage的一般信息,诸如名称等;

✓InputsPage描述了即要写入信息的dataset文件的详细信息;

主要是Properties和Column的定义

Properties中配置了文件的存放路径和更新策略

Column详细定义文件中的各个字段

✓OutputsPage描述了读取信息的dataset文件的详细信息;操作过程与InputsPage类似。

2.15.FileSetStage

ØStage类型:

Filestage

Ø功能说明:

从fileset文件中读取数据或者写数据到fileset文件中,一个FileSetStage只能有一个输入连接(inputlink)、一个输出连接(outputlink)和一个拒绝连接(rejectslink)。

并且只能在并行模式下执行。

Ø具体用法:

✓StagePage:

对Stage的基本定义

✓InputsPage:

主要是Properties和Format的配置

Properties的配置:

定义文件的存取路径及其他读写的相关的参数。

特别要说明的是Options下的RejectMode的选择,当stage有rejectlink的时候,必须选择Output;没有rejectlink时,可选择其他两个选项。

Format的配置:

定义了数据写到文件中的格式

✓OutputsPage:

对stage输出的数据字段的描述,另外,rejectlink的输出系统将默认,不需要用户自己定义字段。

2.16.LookupFileSetStage

ØStage类型:

Filestage

Ø功能说明:

为执行查找操作而创建的参照文件。

作为查找的参照数据,通常在参照数据比较大量或者重复使用率较高的情况下,将参照数据生成专门的LookupFileSet文件,以便提高查找的效率

Ø具体用法:

✓StagePage

✓InputsPage:

主要定义了查找关键字和存放路径等主要信息

创建一个LookupFileSet文件:

✓OutputsPage:

当作为参照数据进行查找操作时,因为文件是已经生成好的,所以在这里不需要再做详细的定义,只要引入即可。

2.17.OracleEnterpriseStage

ØStage类型:

DatabaseStage

Ø功能说明:

从Oracle数据库中读取数据或者写数据到Oracle数据库中。

通常完成的操作:

✓使用INSERT或UPDATWE命令更新数据库表

✓装入数据库表

✓读取数据库表

✓从数据库表中删除行

✓在库表中直接执行查询操作

✓将库表装入内存,然后执行查询操作

Ø具体用法:

✓InputsPage

向数据库中写数据,关键是对Properties的配置

✓OutputsPage:

与InputsPage类似,只是完成的是从数据库中读取数据。

2.18.AggregatorStage

ØStage类型:

ProcessingStage

Ø功能说明:

将输入的数据分组,计算各组数据的总和或者按组进行其他的操作,最后将结果数据输出到其他的stage。

Ø具体用法:

✓StagePage:

描述stage的一般信息以及字段的分组信息和选择分组计算函数

✓InputsPage:

详细描述输入数据信息,一般直接反映输入数据字段信息

✓OupputsPage:

详细描述输出数据信息,即经过分组计算后的数据字段信息

2.19.RemoveDuplicatesStage

ØStage类型:

ProcessingStage

Ø功能说明:

输入根据关键字分好类的有序数据,去除所有记录中关键字重复的记录,通常与sortstage配合使用

Ø具体用法:

✓StagePage:

Properties中的key值与之前sortstage的分类key值相同

✓InputsPage:

对输入数据字段的描述

✓OupputsPage:

对输出数据字段的描述

 

2.20.CompressStage

ØStage类型:

ProcessingStage

Ø功能说明:

将dataset文件压缩成二进制文件(与expenddatastage相对应)

Ø具体用法:

✓StagePage

运行结果

✓InputsPage:

对输入数据字段的描述

✓OupputsPage:

对输出数据字段的描述

 

2.21.ExpandStage

ØStage类型:

ProcessingStage

Ø功能说明:

将压缩的二进制文件解压缩(解压缩compressstage生成的压缩文件)

Ø具体用法:

✓StagePage

运行结果:

✓InputsPage:

对输入数据字段的描述

✓OupputsPage:

对输出数据字段的描述

 

2.22.DifferenceStage

ØStage类型:

ProcessingStage

Ø功能说明:

按字段比较两个文件,找出不同的记录。

(两个文件before和after,以before为准,与after文件中的记录进行比较,找出before在after文件中没有或者有的记录)

Ø具体用法:

✓StagePage

Ø比较策略说明

DropOutputForCopyFalse:

保留before及aftelink中key值相同的行

True:

删除before及aftelink中key值相同的行

DropOutputForDeleteFalse:

保留beforelink中有但是aftelink中没有的key值所在的行

True:

删除beforelink中有但是aftelink中没有的key值所在的行

DropOutputForEditFalse:

保留key值相同,value不同的行

True:

删除key值相同,value不同的行

DropOutputForInsertFalse:

保留beforelink中没有但aftelink中有的key值所在的行

True:

删除beforelink中没有但aftelink中有的key值所在的行

调整before和after的顺序:

✓InputsPage:

对输入数据字段的描述

✓OupputsPage:

对输出数据字段的描述

2.23.CompareStage

ØStage类型:

ProcessingStage

Ø功能说明:

按字段对比两个已经分类的有序的文件

Ø具体用法:

✓StagePage

✓InputsPage:

对输入数据字段的描述

✓OupputsPage:

对输出数据字段的描述

2.24.SwitchStage

ØStage类型:

ProcessingStage

Ø功能说明:

将文件按照一定的条件(一般为字段的值)分割成多个子文件。

具体是将输入的每一条记录按照各自符合的条件(关键字的值)分配到不同的输出(SwitchStage有一个inputlink和多个outputlink,一个rejectlink,outputlink最多可达128个;此功能很类似与C函数中的switch函数)。

Ø具体用法:

✓StagePage

定义分配记录的关键字及其值

✓InputsPage:

对输入数据字段的描述

✓OupputsPage:

对输出数据字段的描述,通过Mapping自定义各个输出文件中的字段

2.25.ColumnImportStage

ØStage类型:

RestructureStage

Ø功能说明:

将一个字段中的数据输出到多个字段中。

(也可以用这个stage完成分割单个字段数据到多个字段的目的,此时,输入数据应为定长或者有可以被识别的可分割的界限,必须是String或者Binary类型的,输出数据可以是任何数据类型)

Ø具体用法:

✓StagePage:

关键是对Properties的配置

✓InputsPage:

对输入数据字段的描述

✓OupputsPage:

对输出数据字段的描述,在Column自定义输出字段

✓经过stage的前后数据的对比

字段分割后:

3.DataStageManager使用

3.1.导入导出Job及其它组件

●导入

●导出

通过Export--àDataStageComponents把设计好的job导出保存为DSX文件或者XML文件。

3.2.管理配置文件

通过Tools-àConfigurations管理DataStage配置文件

4.DataStageAdministrator常用配置

4.1.设置TimeOut时间

4.2.设置Project的属性

其他页面的属性,请勿修改。

4.3.更新DataStageServer的License和本地Client的License

可以更新License,注意必须在过期之前更新。

5.DataStageDirector使用

5.1.察看Job的状态,运行已经编译好的Job

✧多个Job可以同时执行,但是需要仔细考虑Job的数据量,处理逻辑的复杂程度。

否则可能造成,其中一个或者多个Job异常。

✧Job并行运行时,可能会提高效率,但是也可能造成并行运行的时间比串行运行时间还长。

具体要看每个Job的CPU和I/O负荷。

✧每个Job可以生成多个Instance,多个Instance可以并发执行。

须特别注意:

重新编译后同一个Job的Instance将会消失。

✧同一个Job生成Instance

输入InvocationID,即InstanceNo

5.2.将编译好的Job加入计划任务

未编译好的Job不能使用schedule。

5.3.监控Job的运行情况

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1