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 语言开发一个用户自定义的功能函数,并且以一个完整的 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抽取数据的问题一、环境情况系统运行环境,服务器地址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本资料仅供内部使用!经验总结_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学习文档
工作总结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经验积累一、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
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 使用了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。
datastage经验总结
目录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 (15)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中常见问题记录 (22)3.1权限管理问题 (22)3.2JOB MAY BE BEING MONITORED或者是CLEANUP问题 (22)3.3删除文件的问题 (22)3.4SEQUENCE调度出现的错误问题 (22)3.17字符集问题 (23)3.18V ERSION C ONTROL的问题 (23)3.19SEQUENCE调不起JOB的问题 (23)3.20SEQUENCE调度失败的问题 (23)3.21DS发送邮件的配置问题 (25)3.22随机错误问题 (26)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 (29)3.32在M ERGE中使用特殊字符 (29)4部分常用Stage 的使用说明 (29)5dsjob 语法说明: (31)6如何从DataStage服务器导出所开发的JOBS列表 (33)7查看当前服务器状态信息的方法: (37)8如何在两台机器之间进行FTP文件 (37)9如何获得Jobstatus ,步骤如下: (39)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文件 (48)14.2修改/ETC/HOSTS.EQUIV文件 (48)16dsadmin命令的使用 (48)15.1DSADMIN命令的使用 (48)17如何启动JobMonApp (50)18DS.TOOLS (51)19uvsh常用命令 (53)18.1LOGTO P ROJECT N AME --------登录一个工程 (53)18.2DS.TOOLS---------进入DS工具 (53)18.3LIST DS_JOBS--------显示所有的J OB及J OB的分类C ATEGORY (54)18.4LIST DS_JOBS WITH NAME=J OB N AME ------显示某个特定J OB的信息 (54)18.5LIST.READU EVERY-----列出所有的锁及锁的拥有用户U SER N AME (54)18.6UNLOCK USER USERNO ALL----解锁用户锁住的J OBS (54)18.7LIST.INDEX-----列出资料库的索引 (54)20Usage Analysis来进行影响分析 (55)19.1如何启动U SAGE A NALYSIS (55)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 | grepds4.重起服务器./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 jobstage,再把server shared container添加到parallel job并连接到其他parallelstage.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 设计占位符﹡重新命名字段﹡删除字段﹡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的默认值也是空格(ASCII20),具体在哪个stage填充的不知.2 通过环境变量APT_STRING_PADCHAR可以改变默认的填充字符null(ASCII0)。
DataStage简介
DataStage简单介绍:一、DataStage的特性:DataStage是在构建数据仓库过程中进行数据清洗、数据转换的一套工具。
它的工作流程如下图所示:DataStage包括设计、开发、编译、运行及管理等整套工具。
通过运用DataStage 能够对来自一个或多个不同数据源中的数据进行析取、转换,再将结果装载到一个或多个目的库中。
通过DataStage的处理,最终用户可以得到分析和决策支持所需要的及时而准确的数据及相关信息。
DataStage支持不同种类的数据源和目的库,它既可以直接从Oracle、Sybase 等各种数据库中存取数据,也可以通过ODBC接口访问各种数据库,还支持Sequential file类型的数据源。
这一特性使得多个数据源与目标的连接变得非常简单,可以在单个任务中对多个甚至是无限个数据源和目标进行连接。
DataStage自带了超过300个的预定义库函数和转换,即便是非常复杂的数据转换也可以很轻松的完成。
它的图形化设计工具可以控制任务执行而无须任何脚本。
二、DataStage的架构:DataStage采用C/S模式工作,其结构如下:DatastageServerProjectManager Designer DirectorDataStage 支持多种平台,其Server 端可运行于以下平台:Windows 2000、Windows NT 、COMPAQ Tru64、HP-UX 、IBM AIX 、Sun Solaris ;Client 端支持以下平台:Win95、Win98、Winme 、Windows NT 、Windows 2000;三、功能介绍DataStage 的Server 端由Repository 、DataStage Server 及DataStage Package Installer 三部分组成,Client 端则由DataStage Manager 、DataStage Designer 、DataStage Driect 及DataStage Administrator 四部分组成。
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。
DataStage V7.5 学习总结
一、DataStage简介Websphere DataStage 是一套专门对多种操作数据源的数据抽取、转换和维护过程进行简化和自动化,并将其输入数据集市或数据中心(数据仓库)目标数据库的集成工具。
DataStage能够处理多种数据源的数据,包括主机系统上的大型数据库、开放系统上的关系型数据库和普通的文件系统等。
常见的主要数据源有:➢大型主机系统的数据库:IMS、DB2、ADABAS、VSAM等。
➢开发系统的关系型数据库:Informix、Oracle、Sybase、DB2、Microsoft SQL Server 等。
➢ERP系统:SAP/R3、PeopleSoft等。
➢普通文件和复杂文件系统,FTP文件系统,XML等。
➢IIS、Netscape、Apache等Web服务器系统。
➢Outlook等Email系统。
DataStage 可以从多个不同的业务系统中,从多个平台的数据源中抽取数据,完成转换和清洗,装载到各种系统里面。
其中每步都可以在图形化工具里完成,同样可以灵活的被外部系统调度,提供专门的设计工具来设计转换规则和清洗规则等,实现了增量抽取、任务调度等多种复杂而实用的功能。
其中简单的数据转换可以通过在界面上拖拉操作和调用一些DataStage 预定义转换函数来实现,复杂转换可以通过编写脚本或结合其他语言的扩展来实现,并且DataStage 提供调试环境,可以极大提高开发和调试抽取、转换程序的效率。
二、DataStage工作原理DataStage XEDataStage的设计是基于数据流的概念。
一个完整的数据流图(DataStage作业),从一个永久存储的数据源开始,并且执行一系列的增值转换和其他处理操作,最后加载数据到一个永久的存储。
数据集(Data Set)就是对通过数据流程的记录的收集。
一个数据集可以是屋里放置在磁盘上,也可以是虚拟放置在内存中。
数据在数据流中的Stage中移动使用的是虚拟的数据集,这样可以大大提高性能;分区(在后面介绍)是在Stage的属性中设置的。
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)。
datastage总结
1 Satge分为被动Stage和主动Stage===被动Stage,是用来读写数据源的数据的,包括Odbc Connector、Oracle Connector、Sequential File等。
===主动Satage,是用来筛选和转换部分的Stage,包括Transformer、Aggregator、Sort等21>Sequential_File适用于一般顺序文件(定长或不定长),可识别文本文件或IBM大机ebcdic文件。
2>Annotation一般用于注释,可利用其背景颜色在job中分颜色区别不同功能块。
3>Copy StageCopy Stage可以有一个输入,多个输出,它可以在输出时改变字段的顺序,但不能改变字段类型。
4>Filter StageFilter Stage只有一个输入,可以有多个输出。
根据不同的筛选条件,可以将数据输出到不同的output link5>Funnel Stage将多个字段相同的数据文件合并为一个单独的文件输出。
6>Transformer Stage一个功能强大的stage,有一个input link,多个output link,可以将字段进行转换,也可以通过条件来指定数据输出到哪个output link.注意:Transformer Stage功能强大,但在运行过程中是以牺牲速度为代价的。
在只有简单的变换,拷贝等操作时,最好用Modify Stage,Copy Stage,Filter Stage等来替换Transformer Stage。
transformer可以实现很多功能的,cope只是其中一部分。
Datastage开发技能介绍
--数据加载与DataStage开发
DataStage开发学习内容
Ascential DataStage背景介绍
数据加载的设计思路
DataStage Server and Clients
基于模版的JOB开发案例
Ascential DataStage 背景介绍
关于Ascential DataStage
Meta Data Meta Data Repository
Meta Data
元数据就是描述数据的数据。表定义是我们常见 的元数据之一。
导入和导出DataStage对象
有关导入和导出
在Manager中的所有对象都可以导出为一 个文件; 可以导出整个项目; 可以用来备份; 有些场合用来做版本控制; 可以用在DataStage项目间移动或者复制 Datastage对象; 用来在开发人员间共享代码;
Compile
Run
Show/hide metadata markers
Job properties
Designer –创建JOB
使用Palette拖动Stages 和Links
设置Teradata Source Stage
设置ODBC Target Stage
Copy Stage
定义列关系对应表
Exercises
练习环境参数值 SQL Server: 连接串:SQL_ETLDB 用户名/密码:spdb/spdb TERADATA: 连接串: SPDBTST 用户名/密码:DW_DSETL/DW_DSETL 数据库名:SDATA 文本文件路径:
/etldata/STU/20080529/adkmx.txt
选中要导入的表 后,点击Import
Datastage入门培训
一、工具入门DataStage是一个ETL的工具,就是对数据的抽取,转换,加载。
个人通俗的理解就是一个对数据进行处理,提取的工具,这里面的数据大部分是以数据库中表的格式存在着的,所以如果要使用这个工具,首先必须对关系数据库的一些基本概念要有所了解,比如最基本的字段,键,记录等概念。
DataStage是通过设计job来实现ETL的功能的。
Job的设计跟普通的IDE设计一样,通过拖拽控件,并填加脚本来完成。
这里的控件称为stage,每一个不同的stage都有不同的数据处理的功能,将各个stage通过一定的方式组合起来,设计成job,对job进行编译,运行,就能够实现对数据抽取转换加载。
1,安装datastage,看学习指导,先对该工具有个大概的认识,大概知道administrator,design,director,manager的区别。
了解datastage工具的主要用途:简单的说就是把一批数据input进来,经过各种各样的转化,清洗,然后在output出去,整个就是ETL 的过程。
对4个工具我们最常做的操作有:Administrator:1、对Project的管理,主要是建立和删除project;2、对Licensing的管理,主要是更换Licensing。
design:datastage的核心,所有的开发都在design里面完成,在这里可以编辑你的job,使用各种stage控件。
director:1、查看日志,当运行job结束时,无论job成功或者失败,我们都可以在director 里面查看日志,里面能反映我们job运行的状态,经常job出错我们都是先查看日志,然后分析原因,再到design里面修改。
2、director的另外一个很有用的功能是logout job,当服务器或者网络出问题时,正在编辑的job很有可能被锁定,这时你就算把design关了再重新登陆还是无法打开job,会提示job has been used, 这就需要到director里面把job logout,然后就可以使用了。
DataStage企业版产品白皮书之四
统一数据交换池项目ETL工具软件及产品现场支持服务竞争性谈判提交文件之六.二.四ProfileStage白皮书之一北京先进数通信息技术有限公司2004年10月21日本文件涉及信息为北京先进数通信息技术有限公司专有信息,敬请视同机密文件处理。
除因需要而得到授权的中国建设银行及本公司有关人员外,请勿以任何形式向他人或任何第三方透露。
目录1. Ascential 企业数据综合优势 (3)2. 元数据的重要性 (4)3. 手工处理的危险 (5)4. Ascential ProfileStage 优势 (7)5. 列分析 (9)6. 表分析 (10)7. 交叉表分析 (11)8. 标准化 (11)9. 转换映射编辑 (12)10. 对ETL 工具的支持 (12)11. Ascential ProfileStage是任何数据综合项目的必要条件 (12)12. 关于Ascential软件 (14)1.Ascential 企业数据综合优势在任何电子商务中心,用户关系管理(CRM),企业资源计划(ERP),供应链管理(SCM),商业智能(BI),数据仓库或数据集市项目是数据综合的必要条件。
软件供应商已经销售的多种产品使企业能够完成数据综合项目。
但是,一直没有单一供应商为端对端的企业数据综合项目提供功能完善的产品。
用户必须依赖供应商拼凑的产品, 满足他们在数据概括,ETL,数据质量和元数据管理上的技术需要。
现在用Ascential ProfileStage工具, Ascential 软件提供一个源自单个供应商的,功能完善的,具有易建立的、自动的、易使用的端对端的企业数据管理技术。
Ascential ProfileStage是Ascential的数据概括软件,它使分析源数据和建立企业数据管理系统的过程自动化、简单化。
Ascential ProfileStage 使用复杂的逆向工程处理,允许用户把原始数据装进软件,并且自动接收源数据的完整分析。
ETL总结
数据整合的核心内容是从数据源中抽取数据,然后对这些数据进行转化,最终加载的目标数据库或者数据仓库中去,这也就是我们通常所说的 ETL 过程(Extract,Transform, Load)。
IBM WebSphere DataStage(下面简称为DataStage)为整个 ETL 过程提供了一个图形化的开发环境,它是一套专门对多种操作数据源的数据抽取、转换和维护过程进行简化和自动化,并将其输入数据集或数据仓库的集成工具。
通常数据抽取工作分抽取、清洗、转换、装载几个步骤:抽取主要是针对各个业务系统及不同网点的分散数据,充分理解数据定义后,规划需要的数据源及数据定义,制定可操作的数据源,制定增量抽取的定义。
清洗主要是针对系统的各个环节可能出现的数据二义性、重复、不完整、违反业务规则等问题,允许通过试抽取,将有问题的纪录先剔除出来,根据实际情况调整相应的清洗操作。
转换主要是针对数据仓库建立的模型,通过一系列的转换来实现将数据从业务模型到分析模型,通过内建的库函数、自定义脚本或其他的扩展方式,实现了各种复杂的转换,并且支持调试环境,清楚的监控数据转换的状态。
装载主要是将经过转换的数据装载到数据仓库里面,可以通过数据文件直接装载或直连数据库的方式来进行数据装载,可以充分体现高效性。
在应用的时候可以随时调整数据抽取工作的运行方式,可以灵活的集成到其他管理系统中。
一.数据源连接能力:数据整合工具的数据源连接能力是非常重要的,这将直接决定它能够应用的范围。
DataStage 能够直接连接非常多的数据源,包括:1、文本文件2、 XML 文件3、企业应用程序,比如 SAP、PeopleSoft、Siebel、Oracle Application4、几乎所有的数据库系统,比如 DB2、Oracle、SQL Server、Sybase ASE/IQ、Teradata、Informix等以及可通过ODBC连接的数据库5、 Web Services6、 SAS、WebSphere MQ二.多国语言支持(NLS):DataStage能够支持几乎所有编码,以及多种扩展编码(IBM、NEC、富士通、日立等),可以添加编码的支持,DataStage内部为UTF8编码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)。