生成ODI包

时间:2014-10-21 15:32:09

标签: oracle scripting oracle11g data-warehouse oracle-data-integrator

我目前正在开发一个数据仓库项目,我经常需要从源加载表到第1层和第2层。第1层是源数据的副本加上一些技术字段,第2层处理外键并进行一些小的转换。

该过程如下:

  • 创建DDL脚本以在L1和L2中创建表
  • 使用ODI(Oracle数据集成器)定义定义从一个层到另一个层的转换的接口。

这是一项非常重复的任务,其中转换大致保持不变。

我想知道是否有办法从脚本语言生成ODI软件包+接口+变量,这样我就可以自动化这个耗时部分的最大部分。

ODI版本:ODI_11.1.1.7.0_GENERIC 平台:Windows 7

提前致谢

2 个答案:

答案 0 :(得分:3)

使用ODI SDK,确实可以执行您在ODI Studio中可以执行的几乎任何任务:http://docs.oracle.com/cd/E29542_01/apirefs.1111/e17060/toc.htm。 此Java API也可用于直接从ODI Studio执行的Groovy脚本(工具 - > Groovy - >新脚本)。 Groovy是JVM的一种编程语言,它使用类似于Java语法的语法和一些快捷方式,并且它是动态编译的。除了少数例外,Java代码可以在Groovy中使用。

Michael Rainey介绍了ODI SDK,Groovy和一些用例。以下是幻灯片:https://s3.amazonaws.com/rmc_docs/biforum2013_slides/odi_mclass_6_sdk_groovy.pdf

我想同一位作者的完整示例可能对您有意义,因为它会在其Foundation层的表中添加几列(相当于Oracle Information Management Reference Architecture中的第1层): http://www.rittmanmead.com/2012/05/oracle-data-integrator-11g-groovy-add-columns-to-a-datastore/

了解了这些概念后,Oracle Data Integrator团队发布了一个很好的脚本,可以在几年前在其博客上自动创建。我认为它已经在11.1.1.5上进行了测试,因此它可能需要一些调整,但这是一个很好的起点:https://blogs.oracle.com/dataintegration/entry/interface_builder_accelerator

SDK的一个限制是没有任何东西可以使用ODI的版本控制功能。

答案 1 :(得分:-1)

最好使用GUI而不是SDK创建包,接口。这很容易实现,调试和省时。