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

Posted

技术标签:

【中文标题】如何在 pentaho Kettle 中为生成的键表实现键查找【英文标题】:How to implement a key lookup for generated keys table in pentaho Kettle 【发布时间】:2015-09-09 01:41:07 【问题描述】:

我刚开始使用 Pentaho Kettle 进行集成。到目前为止看起来很棒,与我也在研究的 Talend 相比非常直观。

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

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

    如果客户存在,请将其 id 添加到导入的字段并继续。 但如果客户不存在,我需要从表 Hibernate_Sequences 中获取下一个 Hibernate 键并将其设置为 id。

但我不想总是分配一个键,所以我想有条件地执行一个步骤来分配下一个键。

所以我想做的是在流程中执行 db 过程,它分配下一个键并返回它,只有在“查找 id”步骤中的 id 中没有值时。

这可能吗?

只是发布我更新的流程 - 所以答案是使用过滤器行组件,它将数据拆分为真/假。由于一个错误,我真的很难从数据库存储过程中获取 id,所以我不得不使用十进制然后转换回整数(我也不知道该怎么做,所以使用了一个 javascript 组件)。

【问题讨论】:

太好了,谢谢,这就是我要找的那个。随时将其发布为答案,以便我将其标记为正确。 【参考方案1】:

是的。根据官方文档(我只留下有价值的信息)“查找值作为新字段添加到流中”。因此,您只需将步骤“过滤行”放在“流程”部分并检查假设在“现有 ID 查找”步骤中添加的“ID”。

【讨论】:

以上是关于如何在 pentaho Kettle 中为生成的键表实现键查找的主要内容,如果未能解决你的问题,请参考以下文章

Pentaho Kettle - 如何根据结果集生成更新查询?

如何将日期转换为字符串,然后使用 Pentaho Kettle 将其拆分为 4 部分

Pentaho - 如何根据 Kettle 属性文件设置工作转换

如何在 Pentaho Data Integration (Kettle) 中合并两个文件

使用 Pentaho Kettle,我可以在不预先组合数据流的情况下将数据输入到数据库表并生成连接吗?

如何在 Pentaho Data Integration (Kettle) 中向文件添加行号?