Datastage 利用Surrogate_Key_Generator 生成代理键(内含具体作业)

浏览: 2530

版本:IBM InfoSphere DataStage V11.5.1

操作系统:linux redhat 6.4

平台:Apache Hadoop 2.6.0-cdh5.9.0

场景:

目标表需要生成代理键。


控件介绍:

Surrogate Key Generator 阶段是生成超大字符集键列并维护键源的处理阶段。

超大字符集键是并非从其表示的数据派生的唯一主键,因而对数据的更改不会更改主键。在星型模式数据库中,超大字符集键用于将事实表连接到维表。

Surrogate Key Generator 阶段可具有单一输入链接和/或单一输出链接,也可没有链接。作业设计取决于阶段的用途。

您可以使用 Surrogate Key Generator 阶段来执行以下任务:

  • 在其他作业运行之前创建或删除键源
  • 使用键值范围更新状态文件
  • 生成超大字符集键列并将它们传递到作业中的下一个阶段
  • 查看状态文件的内容

生成的键是无符号 64 位整数。键源可以是状态文件,也可以是数据库序列。如果您使用的是数据库序列,那么该序列必须由 Surrogate Key 阶段创建。您不能使用先前在 DataStage 以外创建的序列。

您可以使用 Surrogate Key Generator 阶段来更新状态文件,但是不能更新数据库序列。必须使用数据库工具来修改序列。


步骤1

在DS服务器上制定路径,存放一个空文件,如dwr_party_seq

Clipboard Image.png


步骤2

开发样例如下

Clipboard Image.png


制定路径存放的文件,和序列号命名

Clipboard Image.png

控件自动会生成序列号

Clipboard Image.png


验证结果:

Clipboard Image.png

推荐 3
本文由 我是最优雅的杀手,不杀人专杀狗 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

1 个评论

我想用它生成序号1、2、3、4、5、6、7、8、9、10这种形式的,但是它结果出来是1、2、3、4、5、6、7、8、1001、1002,这个原因的?

要回复文章请先登录注册