Datastage开发经验

上传人:漫步人****me 文档编号:61664681 上传时间:2018-12-09 格式:DOCX 页数:34 大小:1.65MB
返回 下载 相关 举报
Datastage开发经验_第1页
第1页 / 共34页
Datastage开发经验_第2页
第2页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Datastage开发经验》由会员分享,可在线阅读,更多相关《Datastage开发经验(34页珍藏版)》请在金锄头文库上搜索。

1、NEUSOFTDatastage开发经验开发手册刘石磊2014/7/23目录第一章 Datastage连接配置21.配置DS连接22.打开DS designer,选择服务层主机名,输入用户名密码,然后在项目中选择对应的开发项目,确定后进入DS开发界面2第二章 Datastage Designer开发21.在Jobs目录下建立自己的开发目录层级22.job调用关系33.job能调用的组件34.开发一个job55.导入表定义(Table Definitions)156.开发一个sequence18a.新建Sequence,将并行job拖入设计面板18b.保存编译后即可运行187.运行job198.

2、全局参数&环境变量设置219.在job和sequence中调用参数22a.Job中变量参数设置22b.Sequence中变量参数设置2510.调用存储过程26a.新建一个job,作业属性配置如下图26b.调用存储过程,在查询存储过程运行状态的表的sql前Before SQL,调用存储过程CALL ETL.SP_IPRO_ETL_ALL(#$p_etl_date#);2611.运行job失败时怎么办27第三章 Datastage Director使用28a.只有处于已编译和已完成状态的job或sequence才能直接运行28b.查看报错日志28c.job日志过滤29d.再次运行job30第四章

3、Datastage Designer其它功能311.Job搜索31修订历史记录日期版本作者描述审核人2014/7/23V1.0刘石磊DS开发的一点点经验第一章 Datastage连接配置1. 配置DS连接DS服务器搭建好后,需要在客户端配置方可连接(DS服务器搭建没做过)首先,在C:WindowsSystem32driversetchosts文件中加上服务器IP或计算机名和DS的项目名称。2. 打开DS designer,选择服务层主机名,输入用户名密码,然后在项目中选择对应的开发项目,确定后进入DS开发界面第二章 Datastage Designer开发1. 在Jobs目录下建立自己的开发目

4、录层级2. job调用关系最常用到的是并行作业和序列作业,并行作业为最小job单位,序列作业既可以包装和调用多个并行作业,也可以包装和调用多个序列作业。3. job能调用的组件在Stage Types 文件夹下,Parallel文件夹下的各组件并行作业可以调用,Sequence下的组件序列作业可以调用。例如:新建一个并行作业,将Sequence的组件拖上去后,出现无法调用的图标,表示此组件在并行作业不可用。如下图,可用的组件拖上去是这种图标在进行开发时,使用组件选用板更方便,打开选用板方法:查看选用板选用板如下图,其实就是把Stage Types里面的内容以另一种形式展现出来4. 开发一个jo

5、b例如:开发一个表对表的数据抽取,从s_orduna表中抽取数据,然后对抽取的数据进行过滤,满足条件company_code=的插入表s_orduna_full,不满足条件company_code=的插入s_orduna_errora. 新建并行作业,将选用板里面的注释组件拖进去,写上此job的功能,建议用英文注释b. 将数据库组件拖进去,db2使用db2 connectorc. 将过滤组件拖进去d. 各组件在没有连接时,一些属性是不会显示的,因此用处理箭头把他们连接起来,按住鼠标右键,从一个组件开始,到另一个组件时放开,就可以把组件连起来e. 修改组件名,双击组件,在阶段阶段名称,修改即可也

6、可以左键单击一下组件,间隔1秒后再左键单击,可以直接修改 f. 将表定义装入列属性(注:这里既可以手动输入select的表定义,也可以从Table Definitions装入,Table Definitions的相关操作见第7节)注意,去掉“确保全部Char列使用Unicode”的勾,否则抽取的记录可能会乱码g. 从表中抽取数据各属性填写:Instance 一般不需要填,具体作用没研究过Database 数据库名称,oracle就不知道了可能需要配置(没讲解的属性默认值就可以,具体什么用处自己去研究)Genrate SQL 选择“是”表示使用DS自动生成的sql,根据前面导入的列进行selec

7、t,此项选“是”,下面的SQL选项就会失效,此时抽取的是表中所有的记录,不会做处理和过滤 选择“否”,表示不使用DS自动生成的sql,就需要在SQL中写查询语句Table name 抽取数据的表名称SQLSelect stagement 使用select语句进行查询,这种方式可以对一些字段进行函数转换,也可以加where条件等Before/After sql 在执行上面的select前需要执行的sqlSql写好后,可以点击查看数据,查询出结果表示sql写的没问题h. 定义Filter如果是单表对单表的数据直抽,就不需要Filter,如果对抽取的结果做分流,就需要加上Filter组件,默认是一个

8、where条件,有几个数据分流就添加几个Where Clause添加后,写上对应的过滤条件但是两个条件过滤的数据该如何确定流向哪个分支?查看链接排序,链接标签有0,1,当然如果有多个分支就有0,1,2.回到属性栏,在where Clause添加输出的分支属性添加好后如下图定义Filter的输出,可使用CTRL+A选中所有左边的列,用鼠标左键拖到右边完成图如下然后定义另一个分支的输出,如图选择分支名称,如上方法将字段拖到右边定义好输出后job中会出现下列输出表的图标i. 定义目标表上述步骤完成后,目标表的分支中,列属性已经自动将Filter中的输出列加进去,(注:这里最好将目标表的列名和源表SE

9、LECT后的列名称保持一致,这样生成的insert语句修改量就比较小;保持一致的做法就是在源表定义select时,对每个列都带别名 as xxx,别名和目标表字段名称一致,不这样做也没问题,就是insert语句改动比较大而已),如果目标表存在Filter输出不存在的列,那么将此列加入列定义,然后开始定义insert语句可以使用Generator SQL,只填入表名即可,也可以在属性面板SQL选项中点击Tools,Generator SQL statement,会自动生成插入语句,将此语句拷贝出来,在Toad或者PL/SQL Developer中编辑好,贴上去如果在插入前需要Truncate,那

10、么就在Before Sql中定义这里是可以输入多条sql语句的,用英文分号分隔j. 编译job,job完成后,ctrl+s保存,然后点编译按钮进行编译,编译无误才能进行调度5. 导入表定义(Table Definitions)填入列定义,在Table Definitions组件下,将用到的源表,目标表的结构导入,步骤如下,选择导入表定义插件元数据定义启动后,选择对应数据库类型,点击确定选择服务器,输入用户名密码,Tables打勾,下一步选择表名称(支持首字母搜索,如按键S,就会跳到S开头的表名称),使用ctrl+鼠标左键可多选,选好导入的目标文件夹,确定,导入导入完成后,就会出现在指定的文件夹

11、中,可以被job直接调用。这里导入的表定义主要作用就是在job中使用这些表的时候,不用手动输入表字段定义,提高开发效率,跟数据库无关(意思就是从A库导入的表定义,可以直接被B库、C库调用)6. 开发一个sequencea. 新建Sequence,将并行job拖入设计面板b. 保存编译后即可运行7. 运行job单个job或者sequence都可以运行运行后,job会显示成功的绿线,和失败的红线查看选项中,选中作业日志,在设计面板就会出现控制台运行信息8. 全局参数&环境变量设置对于一些可变的信息如db名称,username,password,etl_date等,需要设置为变量,这样就可以将参数一

12、层一层传递下去打开 Administrator登录后,找到项目,点击属性环境并行下面有个APT_CONFIG_FILE参数,存储的是用户定义的参数文件,这个比较重要,先记住对于多处调用的变量,可将其设置为参数,如下图9. 在job和sequence中调用参数a. Job中变量参数设置打开开发好的作业Test,点击作业属性将用到的环境变量添加进去,添加进去是这样的,但是如果变量值变化了,岂不是每个job都要修改?所以要引如$APT_CONFIG_FILE这个很重要的系统变量,这个变量引入后,所有的参数缺省值都赋值为$PROJDEF,就会自动从配置文件获取参数值配置好如图所示,包括密码缺省值也设置

13、为$PROJDEF配置好作业属性后,打开job中的组件,点击变量图标,会出现参数选择将DB,user,password设置为参数,设置后可以测试一下是否连接成功设置后,保存并编译job,再点击运行时,参数的值就会根据配置文件继承下来b. Sequence中变量参数设置打开TestSequence,同job的设置方法,将作业属性先设置好打开sequence中调用的并行job,出现参数如下,参数的名称,指的是并行job的参数,值表达式指的是sequence传入的值,通过这个配置,就可以把job和sequence的参数联系起来,进行参数值传递10. 调用存储过程a. 新建一个job,作业属性配置如下

14、图b. 调用存储过程,在查询存储过程运行状态的表的sql前Before SQL,调用存储过程CALL ETL.SP_IPRO_ETL_ALL(#$p_etl_date#);存储过程调用的job如下,调用的方法很多,这个只是其中一种11. 运行job失败时怎么办job失败时,可以查看控制台信息,如果从控制台信息看不出报错位置,那么要借助director这个工具,如图打开director 第三章 Datastage Director使用Director作为Datastage的核心组件,在监控和日志查看上起着重要的作用。a. 只有处于已编译和已完成状态的job或sequence才能直接运行b. 查看报错日志点击日志图标,查看报错信息双击红色的报错信息,弹出报错明细,点击上一个、下一步可以逐条查看,找到错误并修改编译jobc. job日志过滤在日志信息处单击右键-过滤,可以设置日志的查看信息,对于运行日志比较多的情况,设置过滤是个不错的选择d. 再次运行job如果有job中止,暂时还没找出报错原因,还想再运行一次,那么可以在设计界面编译后运行,也可以直接在Director界面选择恢复处于已复位状态的job也可以运行,如下图,可以直接在Director中运行第四章 Datastage Designer其它功能1. Job搜索job多的时候,要编辑或者搜索某个job可以使用快速查找

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 数据库

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号