除了pentaho中的插入/更新步骤外,是否有任何步骤或逻辑可以维护SCD类型1?

除了pentaho中的插入/更新步骤外,是否有任何步骤或逻辑可以维护SCD类型1?,pentaho,kettle,pdi,Pentaho,Kettle,Pdi,除了Insert/Update步骤外,是否还有任何步骤或逻辑可以维护SCD类型1。对于大数据来说,维护这一点需要花费大量时间。 这是一个简单的步骤,我们将从表中获取max(更新时间),并获取更新日期之后的数据,然后根据Insert/update中的业务键将其简单地插入到目标表中。 详细说明对纯尺寸控制很有帮助您可以使用组合查找/更新或尺寸查找/更新(更新类型=更新或穿孔,其行为类似于SCD类型I) 然而,他们总是会有同样的问题:往返数据库,消耗您的速度。他们通过缓存在某种程度上缓解了这种情况,但

除了Insert/Update步骤外,是否还有任何步骤或逻辑可以维护SCD类型1。对于大数据来说,维护这一点需要花费大量时间。 这是一个简单的步骤,我们将从表中获取max(更新时间),并获取更新日期之后的数据,然后根据Insert/update中的业务键将其简单地插入到目标表中。
详细说明对纯尺寸控制很有帮助

您可以使用组合查找/更新或尺寸查找/更新(更新类型=更新或穿孔,其行为类似于SCD类型I)

然而,他们总是会有同样的问题:往返数据库,消耗您的速度。他们通过缓存在某种程度上缓解了这种情况,但这可能还不够,这取决于可能需要多少更新

另一种选择是使用组合表输出+使用以下技巧更新步骤:

  • 为作为SCD键的字段在DB上创建唯一索引
  • 尝试使用表输出步骤插入所有记录。数据库中已经存在的行将被拒绝
  • 在表输出之后添加一个更新步骤,但不要将其与一个黑色跃点(步骤的主要输出)连接,而是通过错误处理红色跃点连接它

  • 数据库中不存在的行将由表输出插入,而不进行任何查找。失败的(因为它们已经存在)将被发送到更新步骤。

    对于纯维度控制,您可以使用组合查找/更新或维度查找/更新(更新类型=更新或穿孔,其行为类似于SCD类型I)

    然而,他们总是会有同样的问题:往返数据库,消耗您的速度。他们通过缓存在某种程度上缓解了这种情况,但这可能还不够,这取决于可能需要多少更新

    另一种选择是使用组合表输出+使用以下技巧更新步骤:

  • 为作为SCD键的字段在DB上创建唯一索引
  • 尝试使用表输出步骤插入所有记录。数据库中已经存在的行将被拒绝
  • 在表输出之后添加一个更新步骤,但不要将其与一个黑色跃点(步骤的主要输出)连接,而是通过错误处理红色跃点连接它

  • 数据库中不存在的行将由表输出插入,而不进行任何查找。那些失败的(因为它们已经存在)将被发送到更新步骤。

    您是否尝试了
    合并行差异
    步骤?在这里查看我的答案:。您是否尝试了
    合并行差异
    步骤?在这里查看我的答案:。