DATASTAGE——DATASTAGE经验积累

DATASTAGE——DATASTAGE经验积累

ID:38580816

大小:120.00 KB

页数:15页

时间:2019-06-15

DATASTAGE——DATASTAGE经验积累_第1页
DATASTAGE——DATASTAGE经验积累_第2页
DATASTAGE——DATASTAGE经验积累_第3页
DATASTAGE——DATASTAGE经验积累_第4页
DATASTAGE——DATASTAGE经验积累_第5页
资源描述:

《DATASTAGE——DATASTAGE经验积累》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、DATASTAGE——一DATASTAGE经验积累一、JOB的分类与作用    1、ServerJOB:     最为常用的Job类型,Job可以组合使用,ServerJob是Job的最小单位。     原文档:IfyouhavetheWebServicespackinstalledanadditionalcheckbox,WebServiceEnabled,appears.Selectittoindicatethejobcanbemadeavailableasawebservice.    2、ParallelJOB:    3、MainframeJOB:运行于大型机的JOB。  4、JO

2、BSequences:JobSequence主要用于Job间的协作工作控制,如各Job的实行流程,出错处理,文件监控等。二、jobstatus的用法      jobstatus-jobstatuswaitsforthejobtocomplete,thenreturnsanexitcodederivedfromthejobstatus.命令格式为:       dsjob–run       [–mode[NORMAL

3、RESET

4、VALIDATE]]       [–paramname=value]       [–warnn]       [–rowsn]       [–wait]  

5、     [–stop]       [–jobstatus]       [–userstatus]       [-local]       projectjob三、判断NULL值  实例       STAGE:JOINSTAGE       设置:        LEFTJOIN        左输入语句:SELECT*FROMPMP_Insured_Amount        右输入语句:SELECTCOL_ID,TAB_NAME,WORK_DATE,REF_COLUMN1ASUNIQUE_ID_IN_SRC_SYS,REF_COLUMN2,ROW_ID,HASHCODEASB_H

6、ASHCODE,ANCHOR_ID,PARTITION_KEY,IS_DUPLICATED,'A'ASMARK              --用以判断结果集右边是否为空FROMETL_FOR_INC_TMP2SQL语句:  SELECTA.*,B.*  FROMPMP_Insured_AmountALEFTJOINETL_FRO_INC_TMP2BONA.UNIQUE_ID_IN_SRC_SYS=B.UNIQUE_ID_IN_SRC_SYS功能:判断来自A表的所有记录,哪些能够B表关联,哪些不能与B表关联。说明:由于在构造右输入语句时增加了一个B表中没有的常量字段MARK,所以如果A表能够与

7、B表关联的记录,该常量字段就不为空值(此处设了该常量值为A);如果A表与B表关联不上的记录,该常量字段就为空值(NULL)。如此只需用一条判断语句判断常量字段是否为空,从而分出两种记录来。       记录分离所使用的STAGE是Transformstage。一开始时,使用Condition设置了字段MARK='A'与字段MARK<>'A'来分离记录,运行后发现只有MARK='A'的一支有数据通过,而MARK<>'A'的一支没有数据通过,后来把MARK<>'A'的一支的条件(condition)改为ISNULL(MARK)后,数据正常输出。总结:从理论上说,任何与NULL值作比较运算(=、>

8、、<、<>)结果都为NULL,而MARK<>'A'属于比较运算,当MARK为NULL时,结果就为NULL,所以就会没有数据输出。实际上,在MSSQLSERVER2000中,如果使用WHEREMARK<>'A'作筛选条件,是可以把为NULL值的字段输出的。这是DATASTAGE与MSSQLSERVER在处理NULL值运算的不同,MSSQLSERVER是允许一定违反规范规则的情况存在。四、关于对多表进行关联操作的STAGE对不同表的同名字段的处理。       这些STAGE有:JOIN、LOOKUP、MERGE等。       DATASTAGE的处理原则:保留前者,抛弃后者。       例

9、子:  源表:A(a,b,c,d),关联表:B(b,c,e,f)。  取值规则:第一次关联条件A.b=B.b,取B.e;第二次关联条件A.c=B.c,取B.e。       说明:关联的有前后之分的。第一次关联时,在结果集中已经存在的名字为e的字段,第二次关联是在第一次关联的结果集的基础上进行的,第二次所取的字段名与第一次所取的相同。在此就出现种问题,从数据库常识来说,同一张表是不允许有同名字段出现的,如何能

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。