InfoSphere DataStage 是 IBM 统一数据集成平台InfoSphere Information Server的重要组件,是业界主流的ETL(Extract, Transform, Load)软件。
在之前的文章中,小编曾经介绍过DataStage不仅支持各种异构平台的数据库,提供多种功能强大的数据库连接器;而且也支持对非结构化数据的访问,例如TXT、CSV、XML、COBOL和Excel文件等。
而对于常见的数据库存储过程,DataStage同样也提供强大的支持,接下来将以Oralce的存储过程为例演示在DataStage如何进行调用。
前期准备工作
1. 创建存储过程p2,p2定义了一个游标查询表A的数据,然后将数据返回给输出参数。
2. 表A的结构如下所示
3. 表A的数据如下所示
4. 在DataStage中导入存储过程P2的定义
5. 使用设置好的Oracle数据源(ODBC DSN): oraodbc
6. 选择存储过程P2,开始导入
将存储过程作为数据源生成数据
1. 创建DataStage作业,使用Stored Procedure Stage作为数据源,将结果输出 到Peek组件(Peek组件一般用于开发调试,可将运行结果直接打印到屏幕中)。
2. 设置存储过程的连接信息
3. 设置存储过程属性,选择存储过程类型为Source(表示作为源),在Syntax属性栏手工设置输入参数pa的值为1,输出参数pb用:1作为占位符,表示将存储过程的结果输出到后续的DataStage组件(Peek)。
4. 在Output属性栏中设置要输出的列定义,aname是自己设置的,ProCode和ProMess列由系统自动生成。
5. 运行作业,日志显示存储过程P2被DataStage调用,并输出正确结果。
存储过程作为中间过程处理数据
1. 创建DataStage作业,使用Stored Procedure Stage作为中间过程,读取Oracle表数据后,经过中间转换和处理,将最终结果输出到Peek组件。
2. 查看源端Oracle表数据
3. 设置存储过程的连接信息
4. 设置存储过程属性,选择存储过程类型为Transform(表示作为中间阶段),在Syntax属性栏中手工设置输入参数pa用:1作为占位符,表示读取前面Oracle数据库的表数据;输出参数pb用:2作为占位符,表示将存储过程的处理结果输出到后续的DataStage组件(Peek)。
5. 查看Input选项
6.查看Output选项
7. 将PA映射到auuid字段,参数类型设置为Input;将PB映射到aname字段,参数设置为Output。
8. 运行作业,日志显示存储过程P2被DataStage调用,并输出正确结果。
via:华南IBM大数据支持团队
更多大数据与分析相关行业资讯、解决方案、案例、教程等请点击查看>>>
详情请咨询在线客服!
客服热线:023-66090381