Pentaho Data Integration中创建维度表与上次更新时间列的问题

时间:2015-01-28 12:08:06

标签: pentaho kettle

我正在Pentaho数据集成(PDI)中创建具有上次更新时间(来自GetSystemInfo)的维度表。它工作正常,除非它输入新行,即使行没有变化,原因是查找也在最后执行更新的时间字段,不应该执行。但是当我从属性Dimenssion查找/更新中从关键字段中删除此字段时,它按预期工作,但是在更新时间段中的值变为空。提前解决任何解决方案/建议。

2 个答案:

答案 0 :(得分:1)

我希望你在谈论SDC II。 (在这里慢慢改变类型2的维度)并且您希望存储将行插入SCD表的日期。

  • 您可以在Date of last insert (without stream field as source)步骤的Fields标签中使用Dimension Lookup / Update类型的维度更新,而不是从GetSystemInfo步骤中获取数据,该步骤会自动将日期时间存储在已定义的表格列中。

附加提示:如果您需要存储与加载新/已更改数据相关的源系统表中某个日期的最大值,请将Dimension Lookup / Update步之后的最大值存储到单独的表中,在ETL转换开始时加载更新数据时使用它。

答案 1 :(得分:0)

我认为最好使用以下组件

  • 第1步:使用表格输入步骤,您可以从目标系统获取最大值并将值传递给下一步
  • 第2步:再取一个表输入步骤并编写源查询并在where子句中指定先前的值(如?)
  • 第3步:然后在目标级别执行常规操作

我认为你已经完成了上述步骤。