如何在pentaho Kettle中为生成的密钥表实现密钥查找

时间:2015-09-09 01:41:07

标签: pentaho kettle

我刚开始使用Pentaho Kettle进行整合。到目前为止看起来很棒,与Talend相比非常直观,我也在调查。

我试图在没有密钥的情况下迁移一些客户。所以我有他们的电子邮件地址。

客户可能已经存在于数据库中,因此我需要做的是:

  1. 如果客户存在,请将其ID添加到导入的字段中并继续。
  2. 但如果客户不存在,我需要从表Hibernate_Sequences中获取下一个Hibernate密钥并将其设置为id。
  3. 但我不想总是分配一个密钥,所以我想有条件地执行一个步骤来分配下一个密钥。

    所以我想要做的是,在流程中执行db过程,该过程分配下一个密钥并返回它,只有当"查找id"中没有id的值时才会返回它。步骤

    这可能吗?

    Existing Flow

    只是发布我更新的流程 - 所以答案是使用过滤器行组件,它将数据拆分为true / false。因为一个bug,我真的很难从数据库存储过程中获取id,所以我不得不使用十进制然后转换回整数(我也无法弄清楚如何做,所以使用了一个javascript组件)。

    enter image description here

1 个答案:

答案 0 :(得分:1)

是的。根据官方文档(我只留下有价值的信息)“将查找值作为新字段添加到流中”。因此,您只需在Flow部分中添加“Filter row”步骤,并检查“id”,它将在“Existing Id Lookup”步骤中添加。