ds控件介绍

所有控件都在文件夹 Stage Types 下,便捷方式是放在选用板里面

1   链接
用于连接各个控件,带指向的说明数据流向
有些数据控件只有连接在一起后才能进行相关参数的配置

2   Oracle connector stage
用于连接oracle数据库

3   ODBC connector stage 
用于连接GP(greenplum)数据库

4   peek
print row column values to either the job log or to a separate output link
打印行列值工作日志或者一个单独的输出链接

5   Sequential file
txt,cvs等等平面文件
使用于一般顺序文件(定长或不定长),可识别文本文件或IBM大机ebcdic文件

双击控件打开配置菜单,
在general里面的描述框内说明文件类型,存储目录,格式等

在properties 里面修改文件属性,文件名称,reject方式等。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 File
Sequential File Stage默认使用Format和Columns中的列定义来处理文件中的数据,不过也可以在此选项指定schema文件用做数据的列定义.

Report Progess
是否以日志形式记录处理进度.

Cleanup On Failure
JOB失败时是否清除中间数据

在format中修改文件格式,比如记录结束符是什么,字段分割符,字符串是用什么区别等。
常用项:
注意:
最后界定符
字段缺省值,也就是字段分割符,是否用引号包围,可选单引号,双引号及无

在columns 里面设置列格式

重要选项:· Runtime column propagation     ----- propagation:传播;繁殖;增殖

6   Annotation  注释
添加文本框来说明job和功能,也可以使用其颜色特点来区别不同的功能块

注:描述注释只能有一个,但是注释可以有多个

7   Copy Stage   复制控件
它可以在输出时改变字段的顺序,但是不能改变字段类型。可以有一个输入,多个输出
当只有一个输入及一个输出时最好将Force设置为True,这样可以在Designer里看到运行结束,否则将无法标识运行结束,但不会影响运行结果数据。
设置为FALSE的话,DataStage会根据情况对JOB进行优化,有可能放弃使用此Stage

8   Filter Stage
只有一个输入,可以有多个输出。根据不同的筛选条件,可以将数据输出到不同的output link
在where clause 里面可以设置筛选条件,支持标准sql,但是不支持字符串比较
同时设置是否需要输出reject,如果某一行满足多个筛选条件,是否只输出第一个满足条件的

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

注:当合并策略为sort funnel时,必须输入key值
合并策略说明:
 Continuous Funnel:从每一个input link中循环取一条记录
 Sort Funnel:按照Key值排序合并输出
 Sequence:先输出第一个input link的数据,输出完毕后再输出第二个input link的数据,依此类推,直到结束。(此时可以通过调整link Ordering调整输出顺序)

10   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。
示例Derivation转换表达式:
if        ( isnull ( LK_to_transform.CI_CUST_NO ) ) then 1
else if (IsNull(LK_to_transform.CI_CRLMT_NO)) then 2
else 0

11   Sort Stage
只能有一个输入及一个输出,按照指定的Key值进行排列。可以选择升序还是降序,是否去除重复的数据等等。
说明 :
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。

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

参数说明:
 Condition中可以通过BASIC表达式指定在reference link上做Lookup的前提条件.
 Condition Not Met指定前提条件不满足时的处理方式.
 Fail 中止JOB,报Fatal Error错误.
 Drop 抛弃此条数据,继续执行下一个lookup.
 Continue 查找不到的数据赋空值,继续处理下一行.
 Reject 输出至Reject link.
 Lookup Failure指定Lookup操作失败时的处理方式.
 Fail 中止JOB,报Fatal Error错误.
 Drop 抛弃此条数据,继续执行下一个lookup.
 Continue 查找不到的数据赋空值,继续处理下一行.
 Reject 输出至Reject link.

13  Join Stage
将多个表连接后输出、
注意连接时的key值和关联方式,选择外连接时注意连接的顺序

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

14   unstructured data 
松散的数据。主要用于EXCLE数据文件的数据导入数据库

15  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
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值