3

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

过程如下:

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

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

我想知道是否有一种方法可以从脚本语言在 th odi 代理上生成 ODI 包 + 接口 + 变量,以便我可以自动化这个耗时部分的最大部分。

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

提前致谢

4

2 回答 2

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

我想同一作者的这个完整示例对您来说可能很有趣,因为它在他的基础层(相当于 Oracle 信息管理参考架构中的第 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 的版本控制功能。

于 2014-10-22T07:13:28.770 回答
-1

Better to create package, interfaces using GUI instead of SDK. that is easy to implement, debug and time-saving.

于 2016-03-04T23:34:18.157 回答