datastage经验总结

合集下载

Datastage学习总结[范文大全]

Datastage学习总结[范文大全]

Datastage学习总结[范文大全]第一篇:Datastage学习总结Datastage学习总结 Datastage介绍1.1 产品概述DataStage企业版是Ascential Software公司所有企业整合系列产品中关键产品。

企业版支持大容量数据的收集、整合和转换,数据从简单结构到很复杂的结构。

基于高可扩展性的软件架购,企业版使得企业能够通过高性能来解决大部分业务问题,并行处理大容量数据。

强大的企业元数据管理能力使得可以在数据整合生命周期中在所有工具中共享和使用工具。

DataStage企业版发布了四个核心功能来成功实施企业数据整合:1)先进的开发和简单化的维护; 2)企业级别的开发、监测和管理;3)在吞吐量和性能方面提供了无限制的高扩展的体系架构;4)端对端的企业级元数据管理。

DataStage企业版提供了全面的功能去最优化用户在建立、升级和管理数据整合架构时的速度、灵活性和效率。

DataStage企业版增强的功能减少了学习的周期、简单化了管理和优化了开发资源的使用,减少了数据整合应用的开发和维护周期。

结果,DataStage企业版使得企业能够花更少的时间开发他们的整合应用,更多的时间是不断的从中受益。

1.2 基础架构1.3 客户档介绍用户通过各个客户端工具访问DataStage企业版的开发、配置和维护功能。

这些工具包括:Designer:用来建立和编辑DataStage作业和表的定义。

Designer中的“Job Sequencer”控制作业的执行,其他作业成功完成(或失败,等)的条件。

Administrator:用来执行管理任务,如建立DataStage用户、建立和删除工程并且建立清洗标准。

Manager:用来编辑管理用户工程的DataStage资料库。

Director:用来验证、时序安排、运行和监测企业版作业。

日常操作2.1 登录客户端2.1.1 登录Datastage Administrator 客户机点击图标选择需要登录的服务器,输入用户名,密码登录进去后点击项目,可进行项目增加,删除,设置项目属性2.1.2 登录DatastageDesigner客户机点击图标选择需要登录的域,输入用户名,密码,选择需要登录的项目登录成功:2.1.3 登录DatastageDirector客户机点击图标选择需要登录的域,输入用户名,密码,选择需要登录的项目登录成功:2.2 启停服务端以dsadm用户进入,执行以下命令:1)Server启动命令:$HOMEDIR/uv–admin-start 注意:启动前,需要查看端口是否被释放,通过‘netsta t–afinet |grep ds’查看,如果有连接,则需要等待操作系统自动释放后在启动服务。

DataStage BASIC 语言开发实践

DataStage BASIC 语言开发实践

本文着重介绍了如何使用 DataStage BASIC 语言开发一个用户自定义的功能函数,并且以一个完整的 Server Job 实例为读者讲解在 Transformer Stage 中如何使用内置的和自定义的函数来转化数据。

文章的最后介绍了如何重用自定义的功能函数。

读者定位为具有一定 DataStage 使用经验的开发人员。

DataStage 概述IBM WebSphere DataStage是一个图形化的进行数据整合的开发环境,可以用来实现数据抽取,转化,净化,加载到目标数据库或者数据仓库中, 即ETL过程(Extract, Transform, Cleansing, Load)。

DataStage使用Stage实现对数据的操作。

在整个操作数据的过程中,需要创建从不同的数据源抽取数据的Stage,以及用来转化和净化数据的Stage,还需要一些Stage将数据加载到目标数据库中,一个ETL job就是一些被连线连接在一起的Stages,数据则是从一个Stage 流向下一个Stage。

关于DataStage的基本使用方法,读者可以参考发表在developWorks中国网站上的《用 IBM WebSphere DataStage 进行数据整合》系列文章。

回页首Transformer Stage 介绍在数据整合的整个过程中,很重要的一步就是对抽取数据的格式或者内容进行必要的转化。

用户可以在Transformer Stage中,对传入的数据进行任何必要的处理,再把处理好的数据传给下一个Stage。

图1就是一个正在被编辑的Transformer Stage,窗口的上半部分显示了输入与输出的字段之间的对应关系,其中DSLink13是输入的连线名称,DSLink4是输出的连线名称。

而窗口下半部分详细说明了每一个输入或者输出字段的定义。

图1.一个Transformer Stage的实例如果仅仅是把输入与输出的字段对应起来,那并不能体现出Transformer Stage 的作用。

DataStage抽取数据的问题

DataStage抽取数据的问题

DataStage抽取数据的问题一、环境情况系统运行环境,服务器地址121.42.26.103(版本贵州交通云),操作系统的版本:iZ28xmwpyf3Z:/var # uname -aLinux iZ28xmwpyf3Z 3.11.10-17-default #1 SMP Mon Jun 16 15:28:13 UTC 2014 (fba7c1f) x86_64 x86_64 x86_64 GNU/LinuxiZ28xmwpyf3Z:/var # cat /etc/issueWelcome to openSUSE 13.1 "Bottle" - Kernel \r (\l).二、连接数据库的情况Oracle数据库:SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') today from dual;select count(*) from tbrd_toll_info;select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') today from dual;TODAY-------------------2014-10-27 11:19:55SQL>COUNT(*)----------88448102SQL>TODAY-------------------2014-10-27 11:20:00Mysql 数据库:--------------------------------------mysql> select now();+---------------------+| now() |+---------------------+| 2014-10-27 11:24:35 |+---------------------+1 row in set (0.00 sec)mysql> select count(*) from tbrd_toll_info;+----------+| count(*) |+----------+| 34095000 |+----------+1 row in set (2 min 4.07 sec)mysql> select now();+---------------------+| now() |+---------------------+| 2014-10-27 11:26:39 |+---------------------+1 row in set (0.00 sec)目前导入到mysql的数据库有:数据中心数据库:jtdatacenter/jtdatacenter信息资源规划成果管理系统数据库:GDC_IRP/GDC_IRPGPS数据库:gdc_gzgps/gdc_gzgps交通建设数据库:gdc_rc_dbcenter/gdc_rc_dbcenter公路数据库:gdc_rd_dbcenter/gdc_rd_dbcenter交通运输数据库:gdc_rt_dbcenter/gdc_rt_ddbcenter内网网站数据库:gdc_iw_db/gzjtxxzx_iwdb三、DataStage作业迁移的情况ODBC驱动:iZ28texom2fZ:~ # ls -l /opt/mysql_odbc/lib/-rwxrwxrwx 1 root root 7924426 Oct 19 13:51 libmyodbc5.soDataStage数据抽取作业共98个,原来的所有作业都是通过Oracle Connector组件连接Oracle数据库,现在数据库从Oracle迁移到MySQL,相应的需要把DataStage作业的Oracle Connector组件换成ODBC Connector组件,目前所有作业都已经迁移完毕,但具备测试条件(测试环境中能连接到源数据库)的作业均运行失败,以下是失败的初步原因分析:1、在把DataStage组件从Oracle换成Mysql,通过ODBC连接MySQL数据库过程中,每次需要重新导入MySQL的表结构定义,但这个操作失败了,目前无法导入MySQL的表定义,只能使用原来Oracle的表定义。

经验总结_DataStage

经验总结_DataStage

经验总结_DataStage本资料仅供内部使用!经验总结_DataStage2010年09月29日目录1.D A TA S TAGE怎么调用存储过程 (2)2.D A TA S TAGE调度设计 (3)1. DataStage怎么调用存储过程1)打开Desinger2)拉入DB2 Connector控件3)填写参数4)在“Insert statement”属性中输入:call DCDW.SP_ODS2DW_DIRECTOR 5)总体情况如下图:6)编译1)新建“序列作业”2)加入Job Activity控件3)编辑Job Activity控件内容4)调度时间的设置3. DataStage8.5作业日志入库1)原理:新建一个Before/After subroutine,名为RoutineJobInfo,每个JOB运行完后执行一个这个routine,用于将每个job执行完后的相关日志信息写到一个文件里,然后通过一个shell程序runjobinfo将每个job运行的日志信息写入数据表LOG_DATASTAGE中。

每天通过检查LOG_DA TASTAGE表中每个job的状态信息来检查job是否运行失败。

2)步骤第一步,打开Designer 客户机,进入如下界面,找到左边的Routines目录第二步第三步RoutineJobInfo_code.txt 第四步第五步输入参数0;/dcdata/etl/runjobinfo/,在/dcdata/etl/runjobinfo/目录下产生每个JOB运行后的日志信息,文件名为job名称.txt。

3)建立日志表(DCDW.LOG_DATASTAGE)4)Shell程序etl_runjobinfo.sh读取/dcdata/etl/runjobinfo/下产生的每个JOB日志信息,产生JOB运行清单jobfilename.tmp记录运行job名称,将相关信息插入DCDW.LOG_DATASTAGE表。

datastage学习文档

datastage学习文档

工作总结1 如何重新启动DataStage服务器, 步骤如下: (5)2 DataStage开发经验积累: (5)2.1模板开发 (5)2.2通过S ERVER S HARED C ONTAINER在P ARALLEL J OB中添加S ERVER J OB S TAGE (5)2.3去除不需要的字段 (5)2.4T RANSFORMER S TAGE的使用 (5)2.5L OOK UP/JOIN 空值处理 (6)2.6D ATA S TAGE中默认和隐式类型转换时注意的问题 (6)2.7配置一个INPUT或OUTPUT,就VIEW DATA一下,不要等到RUN时再回头找ERROR (6)2.8D ATA型数据是比较麻烦的 (6)2.9行列互换之H ORIZONTAL P IVOT(P IVOT S TAGE) (7)2.10行列互换之V ERTICAL P IVOT (7)2.11O RACLE EE S TAGE在VIEW数据时出现的错误及解决方法 (9)2.12D ATA S TAGE SAP S TAGE的使用 (10)2.13C OLUM I MPORT S TAGE的使用 (10)2.14C OLUM E XPORT S TAGE的使用 (12)2.15G OT ERROR:C ANNOT FIND ANY PROCESS NUMBER FOR STAGES IN J OB J OBNAME解决 (13)2.16U NABLE TO CREATE RT_CONFIG NNN (14)2.17查看JOB和CLIENT的对应的后台进程 (14)2.18强制杀死DS进程 (14)2.19查看S ERVER E NGINE的进程 (15)2.20查看S ERVER L OCKS (15)2.21关于UNIX系统下无法启动服务的解决办法 (16)2.22L OCKED BY OTHER USER (17)2.23DATA S TAGE J OB L OG的处理 (17)2.24一些BASIC语言中处理字符串的函数 (17)2.25BASIC程序中使用到的一些语法知识 (18)3DS中常见问题记录 (22)3.1权限管理问题 (22)3.2JOB MAY BE BEING MONITORED或者是CLEANUP问题 (22)3.3删除文件的问题 (22)3.4SEQUENCE调度出现的错误问题 (23)3.17字符集问题 (23)3.18V ERSION C ONTROL的问题 (23)3.19SEQUENCE调不起JOB的问题 (23)3.20SEQUENCE调度失败的问题 (24)3.21DS发送邮件的配置问题 (25)3.22随机错误问题 (26)3.23DS中的日期问题 (26)3.24DS连接ORACLE问题 (27)3.28从后台看JOB列表的方法 (28)3.29D ATASTAGE和数据库的连接方法 (28)3.30在DATASTAGE中使用环境变量的问题 (28)3.31IC ONV 和OC ONV (29)3.32在M ERGE中使用特殊字符 (29)4部分常用Stage 的使用说明 (29)5dsjob 语法说明: (31)6如何从DataStage服务器导出所开发的JOBS列表 (32)7查看当前服务器状态信息的方法: (36)8如何在两台机器之间进行FTP文件 (36)9如何获得Jobstatus ,步骤如下: (38)10dsjob –run 的用法 (39)11如何在后台运行和停止一个JOB (40)12DS Oracle EE Stage 配置 (42)11.1安装O RACLE客户端 (42)11.2添加O RACLE用户到DSADM GROUP组选项 (42)11.3配置D ATA S TAGE服务器DSENV文件 (42)11.4配置TNSNAMES.ORA (43)11.5重起D ATA S TAGE服务 (43)11.6配置O ACLE S TAGE抽取的S ELECT权限 (43)11.7O ACLE EE STAGE配置结束 (44)13DS ODBC 的配置 (44)12.1修改$DSHOME/DSENV (44)12.2修改$DSHOME/.ODBC.INI,来提供数据库连接信息; (44)12.3修改$DSHOME/UVODBC.CONFIG,来指定DSN(DATA SOURCE NAME). (45)14ETL系统扩展 (46)15Remote Shell (rsh)的配置 (46)14.1创建并配置.RHOSTS文件 (46)14.2修改/ETC/HOSTS.EQUIV文件 (47)16dsadmin命令的使用 (47)15.1DSADMIN命令的使用 (47)17如何启动JobMonApp (49)18.1LOGTO P ROJECT N AME --------登录一个工程 (52)18.2DS.TOOLS---------进入DS工具 (52)18.3LIST DS_JOBS--------显示所有的J OB及J OB的分类C ATEGORY (52)18.4LIST DS_JOBS WITH NAME=J OB N AME ------显示某个特定J OB的信息 (52)18.5LIST.READU EVERY-----列出所有的锁及锁的拥有用户U SER N AME (52)18.6UNLOCK USER USERNO ALL----解锁用户锁住的J OBS (52)18.7LIST.INDEX-----列出资料库的索引 (53)20Usage Analysis来进行影响分析 (53)19.1如何启动U SAGE A NALYSIS (53)19.2U SAGE A NALYSIS中S ELECT C OLUMNS的使用 (54)19.3U SAGE A NALYSIS中V IEW HTML的使用 (55)19.4U SAGE A NALYSIS中L OCATE IN M ANAGER的使用 (56)19.5U SAGE A NALYSIS可使用的S OURCE类型 (57)21DS Message Handlers (58)20.1M ESSAGE H ANDLERS的两种级别 (58)20.2M ESSAGE H ANDLERS的三种动作种类 (59)20.3M ESSAGE H ANDLERS的文件格式 (59)22DS Parallel Routine (60)21.1P ARALLEL R OUTINE注意事项 (60)21.2P ARALLEL R OUTINE创建流程 (60)21.3P ARALLEL R OUTINE示例 (61)23uvconfig文件中参数修改方法 (63)22.1修改文件UVCONFIG中的参数 (63)22.2运行UVREGEN (63)22.3重启DS服务 (63)22.4校验 (63)24&PH& (63)23.1CD \&PH\&或CD ‘&PH&’ (63)25DB2支持的数据格式 (64)26DB2中Load语法和基本使用 (65)1.01启动DataStage Server 的命令要在$DSHOME/bin 目录下进行. 启动之前要切断所有与服务器端的连接:1. 登陆DataStage 服务器,输入: $DSHOME/bin2. 关闭DataStage 服务器 ./uv –admin –stop3. 检查服务器上是否还有进程没关掉,否则服务器无法启动起来,netstat -a | grep ds4. 重起服务器 ./uv –admin –start.Note: 关闭DataStage 服务器后,建议过30 sec 再重起服务器.2DataStage开发经验积累:2.1 模板开发并行JOB中模板的开发可以最大程度的重用并行JOB的构件,节省时间1. 使用JOB参数(PARAMETER)可以在运行时提供参数的值,增加灵活性,可以在不同的环境处理不同的数据;使用JOB PARAMETER 可以在同一时间使用不同参数运行同一个JOB2. Shared Container共享容器可以在多个JOB中共享相同的逻辑,当一个JOB编译时共享容器被嵌入.2.2 通过Server Shared Container在Parallel Job中添加Server Job Stage在Designer中创建一个server shared container,添加需要的Server job stage,再把server shared container添加到parallel job并连接到其他parallel stage. 2.3 去除不需要的字段当从数据库中读取数据时,要尽可能早的去除不需要的字段,只读取需要的字段,而不是整个表,这样可以提高数据读取效率.2.4 Transformer Stage的使用1. 慎用Transformer Stage,因为它可能降低JOB的运行效率,有些功能能合并成一个单独的STAGE的不要用多个STAGE,要用其他的STAGE来代替Transformer Stage 能完成的任务.2. Transformer Stage 的数据流程是先经过constraint的过滤,然后再经过Derivation处理3. 对于确定类型的操作,使用其他STAGE 比使用TRANSFORMER 会更好:(1) 对如下情况,使用Copy Stage 将比Transformer Stage 更好﹡在界面上提供一个JOB 设计占位符﹡重新命名字段成多个输出分支.(3) 使用Modify Stage 来explicit 类型变换和Null处理﹡Modify Stage 也可重新命名字段﹡保持(keep)或删除(drop)字段﹡也可增加新字段,并为新增字段赋值,但赋值方式要以字段=字段形式,例如:new_columnname=old_columnname; 但new_columnname=”hf”这样赋值是错误的﹡Null的处理destinationColum=handle_null(sourceColum,Value)destinationColum=make_null(sourceColum,Value),这个使用中有问题,不处理空值2.5 Look up/join 空值处理1. 当使用Lookup Failure = Contunue 时,要把reference link 的非主键设置成Nullable,即使reference data 是非空的,也要设置成Nullable,这样能够确保Lookup 把空值分配给没有匹配的参考非主键2. 如果参考非主键没有设置成Nullable ,将会发生什么:Lookup 将会分配一个默认值给没有匹配的的行:Integer 默认值为0Varchar/char 默认值为空字符串(0长度的)2.6 DataStage中默认和隐式类型转换时注意的问题当从源向目标映射数据时,如果类型不一致,对于有些类型我们需要在modify或transfomer stage中通过函数进行转换,对于有些系统会自动完成类型转换,在类型转换过程中,注意以下几点:1 在变长到固定长度字符串的默认转换中,parallel jobs用空格(ASCII 20)字符来填充剩余长度(环境变量APT_STRING_PADCHAR的默认值也是空格(ASCII20),具体在哪个stage填充的不知.2 通过环境变量APT_STRING_PADCHAR可以改变默认的填充字符null(ASCII0)。

DATASTAGE_DATASTAGE经验积累

DATASTAGE_DATASTAGE经验积累

DATASTAGE——一DATASTAGE经验积累一、JOB的分类与作用1、Server JOB:最为常用的Job类型,Job可以组合使用,Server Job是Job的最小单位。

原文档:If you have the Web Services pack installed an additional check box, Web Service Enabled, appears. Select it to indicate the job can be made available as a web service.2、Parallel JOB:3、Mainframe JOB:运行于大型机的JOB。

4、JOB Sequences:Job Sequence主要用于Job间的协作工作控制,如各Job的实行流程,出错处理,文件监控等。

二、jobstatus的用法jobstatus-jobstatus waits for the job to complete, then returns an exit code derived from the job status.命令格式为:dsjob –run[ –mode [ NORMAL | RESET | VALIDATE ] ][ –param name=value ][ –warn n ][ –rows n ][ –wait ][ –stop ][ –jobstatus][–userstatus][-local]project job三、判断NULL值实例STAGE :JOIN STAGE设置:LEFT JOIN左输入语句:SELECT * FROM PMP_Insured_Amount右输入语句:SELECT COL_ID,TAB_NAME,WORK_DATE,REF_COLUMN1 AS UNIQUE_ID_IN_SRC_SYS,REF_COLUMN2,ROW_ID,HASHCODE AS B_HASHCODE,ANCHOR_ID,PARTITION_KEY,IS_DUPLICATED,'A' AS MARK --用以判断结果集右边是否为空FROM ETL_FOR_INC_TMP2SQL语句:SELECT A.*,B.*FROM PMP_Insured_Amount ALEFT JOIN ETL_FRO_INC_TMP2 BON A.UNIQUE_ID_IN_SRC_SYS = B.UNIQUE_ID_IN_SRC_SYS功能:判断来自A表的所有记录,哪些能够B表关联,哪些不能与B表关联。

DS的经验总结 datastage

DS的经验总结 datastage

Transformer的处理

当使用条件过滤数据时,对类似if_else 的数据输出应该使用Otherwise/Log,而 避免两条都使用逻辑判断。
Join的处理


对INPUT列按KEY值HASH排序,且键值顺 序相同。 对不输出的列事先不做输入。 注意内连接、左连接、右连接、全外连 接的区别。
Transformer的处理



当源字段为Null值时无法做逻辑、数学、 字符串运算,否则这条记录被drop掉。 若有多条输出Link,当其中一条Link因 为Null值运算时,也会使其他Link上的 记录被drop。 为避免被drop发生,可以根据情况使用 IsNull(),NullToEmpty()等函数避免。
Join的处理


Key值中一个为integer型,一个decimal 型时,无法正确连接。 Decimal型为Key值时,Length与Scale必 须相同。
Join的处理

在左连接且从表数据没有被连接上时, 若input列和output列可空,output数据为 Null;若input列和output列不可空, output数据为0,‘’,‘0001-01-01’ ;若input 列不可空output列可空, output数据为 0,‘’,‘0001-01-01’ ;若input列可空output 列不可空,Job出错;
DS的经验总结


开发流程 开发规范 开发经验
DSExport.dsx
备 份
提交/反馈
提交
提交
开发环境
测试环境
生产环境
DS的经验总结


开发流程 开发规范 开发经验

datastage入门教程

datastage入门教程

简介DataStage 使用了Client-Server 架构,服务器端存储所有的项目和元数据,客户端DataStage Designer 为整个ETL 过程提供了一个图形化的开发环境,用所见即所得的方式设计数据的抽取清洗转换整合和加载的过程。

Datastage 的可运行单元是Datastage Job ,用户在Designer 中对Datastage Job 的进行设计和开发。

Datastage 中的Job 分为Server Job, Parallel Job 和Mainframe Job ,其中Mainframe Job 专供大型机上用,常用到的Job 为Server Job 和Parallel Job 。

本文将介绍如何使用Server Job 和Parallel Job 进行ETL 开发。

Server Job一个Job 就是一个Datastage 的可运行单元。

Server Job 是最简单常用的Job 类型,它使用拖拽的方式将基本的设计单元-Stage 拖拽到工作区中,并通过连线的方式代表数据的流向。

通过Server Job,可以实现以下功能。

1.定义数据如何抽取2.定义数据流程3.定义数据的集合4.定义数据的转换5.定义数据的约束条件6.定义数据的聚载7.定义数据的写入Parallel JobServer Job 简单而强大,适合快速开发ETL 流程。

Parallel Job 与Server Job 的不同点在于其提供了并行机制,在支持多节点的情况下可以迅速提高数据处理效率。

Parallel Job 中包含更多的Stage 并用于不同的需求,每种Stage 使用上的限制也往往大于Server Job。

Sequence JobSequence Job 用于Job 之间的协同控制,使用图形化的方式来将多个Job 汇集在一起,并指定了Job 之间的执行顺序,逻辑关系和出错处理等。

数据源的连接DataStage 能够直接连接非常多的数据源,应用范围非常大,可连接的数据源包括:•文本文件•XML 文件•企业应用程序,比如SAP 、PeopleSoft 、Siebel 、Oracle Application•几乎所有的数据库系统,比如DB2 、Oracle 、SQL Server 、Sybase ASE/IQ 、Teradata 、Informix 以及可通过ODBC 连接的数据库等•Web Services•SAS 、WebSphere MQServer JobServer Job 中的Stage 综述Stage 是构成Datastage Job 的基本元素,在Server Job 中,Stage 可分为以下五种:1.General2.Database3.File4.Processing5.Real Time本节中将介绍如何使用Datastage 开发一个Server Job。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录1 如何重新启动DataStage服务器, 步骤如下: (4)2 DataStage开发经验积累: (4)2.1模板开发 (4)2.2通过S ERVER S HARED C ONTAINER在P ARALLEL J OB中添加S ERVER J OB S TAGE (4)2.3去除不需要的字段 (4)2.4T RANSFORMER S TAGE的使用 (4)2.5L OOK UP/JOIN 空值处理 (5)2.6D ATA S TAGE中默认和隐式类型转换时注意的问题 (5)2.7配置一个INPUT或OUTPUT,就VIEW DATA一下,不要等到RUN时再回头找ERROR (5)2.8D ATA型数据是比较麻烦的 (5)2.9行列互换之H ORIZONTAL P IVOT(P IVOT S TAGE) (6)2.10行列互换之V ERTICAL P IVOT (6)2.11O RACLE EE S TAGE在VIEW数据时出现的错误及解决方法 (8)2.12D ATA S TAGE SAP S TAGE的使用 (9)2.13C OLUM I MPORT S TAGE的使用 (9)2.14C OLUM E XPORT S TAGE的使用 (11)2.15G OT ERROR:C ANNOT FIND ANY PROCESS NUMBER FOR STAGES IN J OB J OBNAME解决 (12)2.16U NABLE TO CREATE RT_CONFIG NNN (13)2.17查看JOB和CLIENT的对应的后台进程 (13)2.18强制杀死DS进程 (13)2.19查看S ERVER E NGINE的进程 (14)2.20查看S ERVER L OCKS (14)2.21关于UNIX系统下无法启动服务的解决办法 (16)2.22L OCKED BY OTHER USER (16)2.23DATA S TAGE J OB L OG的处理 (17)2.24一些BASIC语言中处理字符串的函数 (17)2.25BASIC程序中使用到的一些语法知识 (18)3DS中常见问题记录 (21)3.1权限管理问题 (21)3.2JOB MAY BE BEING MONITORED或者是CLEANUP问题 (22)3.3删除文件的问题 (22)3.4SEQUENCE调度出现的错误问题 (22)3.17字符集问题 (22)3.18V ERSION C ONTROL的问题 (23)3.19SEQUENCE调不起JOB的问题 (23)3.20SEQUENCE调度失败的问题 (23)3.21DS发送邮件的配置问题 (25)3.22随机错误问题 (25)3.23DS中的日期问题 (26)3.24DS连接ORACLE问题 (26)3.25在S EQUENCE F ILE S TAGE中的空值处理问题 (26)3.26在DS中使用O RACLE E NTERPRISE S TAGE必须的权限 (27)3.27DS中去除‘回车符’的问题以及从CHAR类型转变成整型的方法 (27)3.28从后台看JOB列表的方法 (27)3.29D ATASTAGE和数据库的连接方法 (28)3.30在DATASTAGE中使用环境变量的问题 (28)3.31IC ONV 和OC ONV (28)3.32在M ERGE中使用特殊字符 (29)4部分常用Stage 的使用说明 (29)5dsjob 语法说明: (31)6如何从DataStage服务器导出所开发的JOBS列表 (33)7查看当前服务器状态信息的方法: (36)8如何在两台机器之间进行FTP文件 (37)9如何获得Jobstatus ,步骤如下: (38)10dsjob –run 的用法 (40)11如何在后台运行和停止一个JOB (41)12DS Oracle EE Stage 配置 (43)11.1安装O RACLE客户端 (43)11.2添加O RACLE用户到DSADM GROUP组选项 (43)11.3配置D ATA S TAGE服务器DSENV文件 (43)11.4配置TNSNAMES.ORA (44)11.5重起D ATA S TAGE服务 (44)11.6配置O ACLE S TAGE抽取的S ELECT权限 (44)11.7O ACLE EE STAGE配置结束 (45)13DS ODBC 的配置 (45)12.1修改$DSHOME/DSENV (45)12.2修改$DSHOME/.ODBC.INI,来提供数据库连接信息; (45)12.3修改$DSHOME/UVODBC.CONFIG,来指定DSN(DATA SOURCE NAME). (46)14ETL系统扩展 (47)15Remote Shell (rsh)的配置 (47)14.1创建并配置.RHOSTS文件 (47)14.2修改/ETC/HOSTS.EQUIV文件 (48)16dsadmin命令的使用 (48)15.1DSADMIN命令的使用 (48)17如何启动JobMonApp (50)18DS.TOOLS (50)19uvsh常用命令 (53)18.1LOGTO P ROJECT N AME --------登录一个工程 (53)18.2DS.TOOLS---------进入DS工具 (53)18.3LIST DS_JOBS--------显示所有的J OB及J OB的分类C ATEGORY (53)18.4LIST DS_JOBS WITH NAME=J OB N AME ------显示某个特定J OB的信息 (53)18.5LIST.READU EVERY-----列出所有的锁及锁的拥有用户U SER N AME (53)18.6UNLOCK USER USERNO ALL----解锁用户锁住的J OBS (53)18.7LIST.INDEX-----列出资料库的索引 (54)20Usage Analysis来进行影响分析 (54)19.1如何启动U SAGE A NALYSIS (54)19.2U SAGE A NALYSIS中S ELECT C OLUMNS的使用 (55)19.3U SAGE A NALYSIS中V IEW HTML的使用 (56)19.4U SAGE A NALYSIS中L OCATE IN M ANAGER的使用 (57)19.5U SAGE A NALYSIS可使用的S OURCE类型 (58)21DS Message Handlers (59)20.1M ESSAGE H ANDLERS的两种级别 (59)20.2M ESSAGE H ANDLERS的三种动作种类 (60)20.3M ESSAGE H ANDLERS的文件格式 (60)22DS Parallel Routine (61)21.1P ARALLEL R OUTINE注意事项 (61)21.2P ARALLEL R OUTINE创建流程 (61)21.3P ARALLEL R OUTINE示例 (62)23uvconfig文件中参数修改方法 (64)22.1修改文件UVCONFIG中的参数 (64)22.2运行UVREGEN (64)22.3重启DS服务 (64)22.4校验 (64)24&PH& (65)23.1CD \&PH\&或CD ‘&PH&’ (65)25DB2支持的数据格式 (65)26DB2中Load语法和基本使用 (67)1如何重新启动DataStage服务器, 步骤如下:1.01启动DataStage Server 的命令要在$DSHOME/bin 目录下进行. 启动之前要切断所有与服务器端的连接:1.登陆DataStage 服务器,输入: $DSHOME/bin2.关闭DataStage 服务器 ./uv –admin –stop3.检查服务器上是否还有进程没关掉,否则服务器无法启动起来,netstat -a | grep ds4.重起服务器 ./uv –admin –start.Note: 关闭DataStage 服务器后,建议过30 sec 再重起服务器.2DataStage开发经验积累:2.1 模板开发并行JOB中模板的开发可以最大程度的重用并行JOB的构件,节省时间1.使用JOB参数(PARAMETER)可以在运行时提供参数的值,增加灵活性,可以在不同的环境处理不同的数据;使用JOB PARAMETER 可以在同一时间使用不同参数运行同一个JOB2.Shared Container共享容器可以在多个JOB中共享相同的逻辑,当一个JOB编译时共享容器被嵌入.2.2 通过Server Shared Container在Parallel Job中添加Server Job Stage在Designer中创建一个server shared container,添加需要的Server job stage,再把server shared container添加到parallel job并连接到其他parallel stage.2.3 去除不需要的字段当从数据库中读取数据时,要尽可能早的去除不需要的字段,只读取需要的字段,而不是整个表,这样可以提高数据读取效率.2.4 Transformer Stage的使用1.慎用Transformer Stage,因为它可能降低JOB的运行效率,有些功能能合并成一个单独的STAGE的不要用多个STAGE,要用其他的STAGE来代替TransformerStage 能完成的任务.2.Transformer Stage 的数据流程是先经过constraint的过滤,然后再经过Derivation处理3.对于确定类型的操作,使用其他STAGE 比使用TRANSFORMER 会更好:(1)对如下情况,使用Copy Stage 将比Transformer Stage 更好﹡在界面上提供一个JOB 设计占位符﹡重新命名字段﹡删除字段﹡Implicit类型变换(2)使用Filter Stage 或者Switch Stage 来把输入记录按照限制表式分成多个输出分支.(3)使用Modify Stage 来explicit 类型变换和Null处理﹡Modify Stage 也可重新命名字段﹡保持(keep)或删除(drop)字段﹡也可增加新字段,并为新增字段赋值,但赋值方式要以字段=字段形式,例如:new_columnname=old_columnname; 但new_columnname =”hf”这样赋值是错误的﹡Null的处理destinationColum=handle_null(sourceColum,Value)destinationColum=make_null(sourceColum,Value),这个使用中有问题,不处理空值2.5 Look up/join 空值处理1.当使用Lookup Failure = Contunue 时,要把reference link 的非主键设置成Nullable,即使reference data 是非空的,也要设置成Nullable,这样能够确保Lookup 把空值分配给没有匹配的参考非主键2.如果参考非主键没有设置成Nullable ,将会发生什么:Lookup 将会分配一个默认值给没有匹配的的行:Integer 默认值为0Varchar/char 默认值为空字符串(0长度的)2.6 DataStage中默认和隐式类型转换时注意的问题当从源向目标映射数据时,如果类型不一致,对于有些类型我们需要在modify或transfomer stage中通过函数进行转换,对于有些系统会自动完成类型转换,在类型转换过程中,注意以下几点:1 在变长到固定长度字符串的默认转换中,parallel jobs用空格(ASCII 20)字符来填充剩余长度(环境变量APT_STRING_PADCHAR的默认值也是空格(ASCII 20),具体在哪个stage填充的不知.2 通过环境变量APT_STRING_PADCHAR可以改变默认的填充字符null(ASCII 0)。

相关文档
最新文档