Datastage常用组件使用方法(详尽版)

常用组件使用方法:

  1. Sequential file

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

使用要点:  

按照命名规范命名  

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

  1. Annotation

功能特点:

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

  1. Change Capture Stage

功能特点:

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值所在的行  

  1. Copy Stage

功能说明:

Copy Stage可以有一个输入,多个输出。他可以在输出时改变字段的顺序,但是不能改变字段类型。

注意:

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

  1. Filter Stage

功能说明:

    Filter Stage只有一个输入,可以有多个输出。根据不同的筛选条件,可以将数据输出到不同的output link。

  1. Funnel Stage

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

合并策略说明:

Continuous Funnel:从每一个input link中循环取一条记录

Sort Funnel:按照Key值排序合并输出  

Sequence:先输出第一个input link的数据,输出完毕后再输出第二个 

input link的数据,依此类推,直到结束。(此时可以通过调整link Ordering调整输出顺序)  

  1. Tansformer Stage

功能说明:  

     一个功能极为强大的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。  

  1. Sort 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。  

  1. LookUp Stage

功能说明:  

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

  1. Join Stage

功能说明:将多个表连接后输出  

  1. LookUp Stage 和Join Stage 的区别 

LookUp Stage将数据读入到内存中,所以效率很高,但是占用了较多的物理内存。所以当reference data比较小的时候,我们推荐用LookUp Stage;当reference data比较大的时候,我们推荐用Join Stage。  

  1. Merge Stage

功能说明:  

将Merge Key值相同的记录合并。将其中的一个输入设定为Master,其余的为Update。把Update中Merge Key相同的记录合并入Master。  

  1. Modify Stage

功能说明:  

Modify stage 只能有一个输入及一个输出,它可以修改表结构:删除,保留一个字段;给字段改名;修改字段的数据类型。  

Specification的具体用法:  

删除一个字段:DROP columnname [, columnname]  

保留一个字段:KEEP columnname [, columnname]  

改变字段:new_columnname[:new_type]=[explicit_conversion_function]old_c olumnname  

可用的explicit_conversion_function请参看Datastage开发参考。  

  1. Data Set Stage

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中配置了文件的存放路径和更新策略;

  1. File Set Stage

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的输出系统将默认,不需要用户自己定义字段。  

  1. Lookup File Set Stage 

Stage类型: File stage  

功能说明:  

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

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

具体用法:  

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

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

  1. Oracle Enterprise Stage

Stage类型:Database Stage  

功能说明:从Oracle数据库中读取数据或者写数据到Oracle数据库中。  

通常完成的操作:  

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

装入数据库表  

读取数据库表  

从数据库表中删除行  

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

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

具体用法:

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

Outputs Page:与Inputs Page类似,只是完成的是从数据库中读取数据。  

  1. Aggregator Stage

Stage类型:Processing Stage  

功能说明:  

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

具体用法:  

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

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

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

  1. Remove Duplicates Stage

Stage类型:Processing Stage  

功能说明:  

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

具体用法:  

Stage Page:Properties中的key值与之前sort stage的分类key值相同  

Inputs Page:对输入数据字段的描述  

Oupputs Page:对输出数据字段的描述  

  1. Compress Stage

Stage类型:Processing Stage  

功能说明:将data set文件压缩成二进制文件(与expend datastage相对应)

具体用法:  

Inputs Page:对输入数据字段的描述  

Oupputs Page:对输出数据字段的描述  

  1. Expand Stage

Stage类型:Processing Stage  

功能说明:将压缩的二进制文件解压缩(解压缩compress stage生成的压缩文件)  

具体用法:  

Inputs Page:对输入数据字段的描述  

Oupputs Page:对输出数据字段的描述  

  1. Difference Stage

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:对输出数据字段的描述  

  1. Compare Stage

Stage类型:Processing Stage  

功能说明:  按字段对比两个已经分类的有序的文件  

具体用法:  

Inputs Page:对输入数据字段的描述  

Oupputs Page:对输出数据字段的描述  

  1. Switch Stage 

Stage类型:Processing Stage  

功能说明:  

将文件按照一定的条件(一般为字段的值)分割成多个子文件。具体是将输入的每一条记录按照各自符合的条件(关键字的值)分配到不同的输出(Switch Stage 有一个input link 和多个output link,一个reject link,output link最多可达128个;此功能很类似与C函数中的switch函数)。  

具体用法:  

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

Inputs Page:对输入数据字段的描述  

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

  1. Column Import Stage

Stage类型:Restructure Stage  

功能说明:  

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

具体用法:  

Stage Page:关键是对Properties的配置  

Inputs Page:对输入数据字段的描述  

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

  1. Column Export Stage

Stage类型:Restructure Stage  

功能说明:  

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

具体用法:  

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

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

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

你可能感兴趣的:(ETL)