常用组件使用方法:
功能特点:适用于一般顺序文件(定长或不定长),可识别文本文件或IBM大机ebcdic文件。
使用要点:
按照命名规范命名
点住文件,双击鼠标,在general说明此文件内容,格式,存储目录等。
功能特点:
一般用于注释,可利用其背景颜色在job中分颜色区别不同功能块
功能特点:
Change Capture Stage有两个输入,分别标记为before link 及after link。输出的数据表示before link 和after link的区别,我们称作change set。Change Capture 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 Copy
False:保留before及afte link中key值相同的行
True:删除before及afte link中key值相同的行
Drop Output For Delete
False:保留before link中有但是after link中没有的key值所在的行
True:删除before link中有但是afte link中没有的key值所在的行
Drop Output For Edit
False:保留key值相同,value不同的行
True:删除key值相同,value不同的行
Drop Output For Insert
False:保留before link中没有但afte link中有的key值所在的行
True:删除before link中没有但afte link中有的key值所在的行
功能说明:
Copy Stage可以有一个输入,多个输出。他可以在输出时改变字段的顺序,但是不能改变字段类型。
注意:
当只有一个输入及一个输出时最好将Force设置为True,这样可以在Designer里看到运行结束,否则将无法标识运行结束,但不会影响运行结果数据。
功能说明:
Filter Stage只有一个输入,可以有多个输出。根据不同的筛选条件,可以将数据输出到不同的output link。
功能说明:将多个字段相同的数据文件合并为一个单独的文件输出
合并策略说明:
Continuous Funnel:从每一个input link中循环取一条记录
Sort Funnel:按照Key值排序合并输出
Sequence:先输出第一个input link的数据,输出完毕后再输出第二个
input link的数据,依此类推,直到结束。(此时可以通过调整link Ordering调整输出顺序)
功能说明:
一个功能极为强大的Stage。有一个input link,多个output link,可以将字段进行转换,也可以通过条件来指定数据输出到那个output link。在开发过程中可以使用拖拽。
Constraint及Derivation的区别
Constraint通过限定条件使符合条件的数据输出到这个output link。
Derivation通过定义表达式来转换字段值。
在Constraint及Derivation中可以使用Job parameters及Stage Variables。
注意:
Transformer Stage功能强大,但在运行过程中是以牺牲速度为代价的。在只有简单的变换,拷贝等操作时,最好用Modify Stage,Copy Stage,Filter Stage等来替换Transformer Stage。
功能说明:
只能有一个输入及一个输出,按照指定的Key值进行排列。可以选择升序还是降序,是否去除重复的数据等等。
Option具体说明:
Allow Duplicates:是否去除重复数据。为False时,只选取一条数据,当Stable Sort为True时,选取第一条数据。当Sort Unility为UNIX时此选项无效。
Sort Utility:选择排序时执行应用程序,可以选择DataStage内建的命令或者Unix的Sort命令。
Output Statistics:是否输出排序统计信息到job日志。
Stable Sort:是否对数据进行二次整理。
Create Cluster Key Change Column:是否为每条记录创建一个新的字段:clusterKeyChange。当Sort Key Mode为Don’t Sort(Previously Sorted) 或Don’t Sort (Previously Grouped)时,对于第一条记录该字段被设置为1,其余的记录设置为0。
Create Key Change Column:是否为每一条记录创建一个新的字段KeyChange。
功能说明:
LookUp Stage把数据读入内存执行查询操作,将匹配的字段输出,或者在符合条件的记录中修改或加入新的字段。
功能说明:将多个表连接后输出
LookUp Stage将数据读入到内存中,所以效率很高,但是占用了较多的物理内存。所以当reference data比较小的时候,我们推荐用LookUp Stage;当reference data比较大的时候,我们推荐用Join Stage。
功能说明:
将Merge Key值相同的记录合并。将其中的一个输入设定为Master,其余的为Update。把Update中Merge Key相同的记录合并入Master。
功能说明:
Modify stage 只能有一个输入及一个输出,它可以修改表结构:删除,保留一个字段;给字段改名;修改字段的数据类型。
Specification的具体用法:
删除一个字段:DROP columnname [, columnname]
保留一个字段:KEEP columnname [, columnname]
改变字段:new_columnname[:new_type]=[explicit_conversion_function]old_c olumnname
可用的explicit_conversion_function请参看Datastage开发参考。
Stage类型:File stage
功能说明:
从data set文件中读取数据或者写数据到data set文件中,一个Date Set Stage只能有一个输入连接(input link)或者一个输出连接(output link)。
具体用法:
包括Stage Page,Inputs Page,Outputs Page。
Stage Page通常描述了stage的一般信息,诸如名称等;
Inputs Page描述了即要写入信息的data set文件的详细信息;
主要是Properties和Column的定义。
Properties中配置了文件的存放路径和更新策略;
Stage类型:File stage
功能说明:
从file set文件中读取数据或者写数据到file set文件中,一个File Set Stage只能有一个输入连接(input link)、一个输出连接(output link)和一个拒绝连接(rejects link)。并且只能在并行模式下执行。
具体用法:
Stage Page:对Stage的基本定义
Inputs Page:主要是Properties和Format的配置
Properties的配置:定义文件的存取路径及其他读写的相关的参数。特别要说明的是Options下的Reject Mode的选择,当stage有reject link的时候,必须选择Output;没有reject link时,可选择其他两个选项。
Format的配置:定义了数据写到文件中的格式
Outputs Page:对stage输出的数据字段的描述,另外,reject link的输出系统将默认,不需要用户自己定义字段。
Stage类型: File stage
功能说明:
为执行查找操作而创建的参照文件。
作为查找的参照数据,通常在参照数据比较大量或者重复使用率较高的情况下,将参照数据生成专门的Lookup File Set文件,以便提高查找的效率
具体用法:
Inputs Page:主要定义了查找关键字和存放路径等主要信息
Outputs Page:当作为参照数据进行查找操作时,因为文件是已经生成好的,所以在这里不需要再做详细的定义,只要引入即可。
Stage类型:Database Stage
功能说明:从Oracle数据库中读取数据或者写数据到Oracle数据库中。
通常完成的操作:
使用INSERT或UPDATWE命令更新数据库表
装入数据库表
读取数据库表
从数据库表中删除行
在库表中直接执行查询操作
将库表装入内存,然后执行查询操作
具体用法:
Inputs Page:向数据库中写数据,关键是对Properties的配置
Outputs Page:与Inputs Page类似,只是完成的是从数据库中读取数据。
Stage类型:Processing Stage
功能说明:
将输入的数据分组,计算各组数据的总和或者按组进行其他的操作,最后将结果数据输出到其他的stage。
具体用法:
Stage Page:描述stage的一般信息以及字段的分组信息和选择分组计算函数
Inputs Page:详细描述输入数据信息,一般直接反映输入数据字段信息
Oupputs Page:详细描述输出数据信息,即经过分组计算后的数据字段信息
Stage类型:Processing Stage
功能说明:
输入根据关键字分好类的有序数据,去除所有记录中关键字重复的记录,通常与sort stage配合使用
具体用法:
Stage Page:Properties中的key值与之前sort stage的分类key值相同
Inputs Page:对输入数据字段的描述
Oupputs Page:对输出数据字段的描述
Stage类型:Processing Stage
功能说明:将data set文件压缩成二进制文件(与expend datastage相对应)
具体用法:
Inputs Page:对输入数据字段的描述
Oupputs Page:对输出数据字段的描述
Stage类型:Processing Stage
功能说明:将压缩的二进制文件解压缩(解压缩compress stage生成的压缩文件)
具体用法:
Inputs Page:对输入数据字段的描述
Oupputs Page:对输出数据字段的描述
Stage类型:Processing Stage
功能说明:
按字段比较两个文件,找出不同的记录。(两个文件before和after,以before为准,与after文件中的记录进行比较,找出before在after文件中没有或者有的记录)
比较策略说明:
Drop Output For Copy
False:保留before及afte link中key值相同的行
True:删除before及afte link中key值相同的行
Drop Output For Delete
False:保留before link中有但是afte link中没有的key值所在的行
True:删除before link中有但是afte link中没有的key值所在的行
Drop Output For Edit
False:保留key值相同,value不同的行
True:删除key值相同,value不同的行
Drop Output For Insert
False:保留before link中没有但afte link中有的key值所在的行
True:删除before link中没有但afte link中有的key值所在的行
调整before和after的顺序:
Inputs Page:对输入数据字段的描述
Oupputs Page:对输出数据字段的描述
Stage类型:Processing Stage
功能说明: 按字段对比两个已经分类的有序的文件
具体用法:
Inputs Page:对输入数据字段的描述
Oupputs Page:对输出数据字段的描述
Stage类型:Processing Stage
功能说明:
将文件按照一定的条件(一般为字段的值)分割成多个子文件。具体是将输入的每一条记录按照各自符合的条件(关键字的值)分配到不同的输出(Switch Stage 有一个input link 和多个output link,一个reject link,output link最多可达128个;此功能很类似与C函数中的switch函数)。
具体用法:
Stage Page:定义分配记录的关键字及其值
Inputs Page:对输入数据字段的描述
Oupputs Page:对输出数据字段的描述,通过Mapping自定义各个输出文件中的字段
Stage类型:Restructure Stage
功能说明:
将一个字段中的数据输出到多个字段中。(也可以用这个stage完成分割单个字段数据到多个字段的目的,此时,输入数据应为定长或者有可以被识别的可分割的界限,必须是String或者Binary类型的,输出数据可以是任何数据类型)
具体用法:
Stage Page:关键是对Properties的配置
Inputs Page:对输入数据字段的描述
Oupputs Page:对输出数据字段的描述,在Column自定义输出字段
Stage类型:Restructure Stage
功能说明:
与Column Import Stage相反,将多个类型不同的字段合并成一个string或者binary类型的字段。
具体用法:
Stage Page:关键是properties的配置,选择将哪些字段合并,合并后的新字段在Output下的column中直接定义。
Inputs Page:对输入数据字段的描述,这里关键是Format的配置,决定合并后的字段的格式
Oupputs Page:对最终合并后的输出数据字段的描述