Kettle PDI:更好的查找和插入更新或插入更新+查找

时间:2017-12-27 12:19:10

标签: kettle pdi

在Kettle,又名Pentaho数据集成中,我读了一些xls,其中包含一些链接到某些类别的产品,我将它们插入到数据库中。

关系类别 - 产品是1:n(一个类别有更多产品,一个产品属于一个类别)。 我插入类别,然后插入产品。

案例1:

  1. 插入/更新类别(实际上,我只插入);
  2. 按代码查找类别并返回其他步骤中使用的ID;
  3. 案例2:

    1. 按代码查找类别;
    2. 过滤行:if(id> 0)然后转到其他步骤;否则转到第3步;
    3. 插入类别并返回ID;
    4. 案例1或案例2更好(更快/内存使用)?

      同样的选择适用于子类别,供应商和其他相关实体。

      实际上我每秒使用案例1和pdi进程4记录,我有100k记录的文件。

1 个答案:

答案 0 :(得分:1)

我建议使用第二种方法,阅读产品,每种产品使用Lookup steam查找产品的一个类别。

这样做的原因在于它是人类思考的方式。还有那个。 Lookup stream(不是Lookup Database)已经过优化。在某些情况下甚至比数据库离开加入更快。