Sequence Generator分析

Current Value:3   Increment By:2

则初始化 NEXTVAL:3    CURRVAL:3

当且仅当 NEXTVAL走一行时,CURRVAL才增加: NEXTVAL+Increment By

(如果NEXTVAL没有connect to downstream,则CURRVAL始终停留在3)

第一次运行workflow:

    row            NEXTVAL  CURRVAL

1                    3                  5                                (处理每一行时,都是先走NEXTVAL,然后再走CURRVAL=NEXTVAL+Increment By)

2                     5                 7

3                     7                 9

4                     9                 11

 

运行完workflow后,Integration Service把CURRVAL存入Repository Service数据库里面持久化。

 

下次运行workflow:   Current Value从Repository Service数据库里面取得持久化Value

     Current Value:11   Increment By:2

则初始化 NEXTVAL:11    CURRVAL:11

第二次运行workflow:

    row            NEXTVAL  CURRVAL

1                    11                 13

2                    13                 15

3                    15                 17

4                     17                 19

运行完workflow后,19被存入Repository Service数据库,供下次workflow运行时初始化Current Value。

 

mapping中的Current Value显示值不一定是数据库中的值,一定要取得最新的mapping (disconnect folder then open folder)

再更改Current Value并运行workflow,将新的更改保存到Repository Service中。

 

 

  1. Sequence用来产生序列号用以作为主键栏位,可以重用;
  2. 只有两个输出端口:Nextval和Currval;
  3. 通过配置Start Value,End Value,Current Value 和 Cycle属性,可以让产生的Nextval在一个指定的范围内循环;
  4. 可以将Nextval端口连到多个Target上,这时是阻塞式的产生序列号的,可以保证多个Target得到不同的序列号,如果想要得到相同的序列号,可以将Nextval端口连到Target之前的一个共有的Transformation上;
  5. 如果只连出Currval,得到的是一个常量,并且一次阻塞只能获得一个值,所以为性能考量,一般都不连出这个端口,如果Nextval同时有连出,这时Currval =  Nextval + Increment By;
  6. 在没有配置Cycle属性时,如果序列号达到了End Value,会话会失败;
  7. 不重用的Sequence有Reset属性,启用以后,在每个会话结束时会将Current Value置为会话开始时的值,这个值是它产生的第一个值;
  8. 当Sequence配置成重用时,应该给Number of Cached Values 一个大于零的缓存值,这个值是主要为保证不出现重复数据而设置的.比如当设置为100,那么一个线程在从1开始在跑,则另外一个线程会从101开始.每次跑完都要补足100整数.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值