【问题标题】:Is there any step or logic which will maintain SCD type 1 apart from Insert/Update step in pentaho?除了 pentaho 中的插入/更新步骤之外,是否有任何步骤或逻辑可以保持 SCD 类型 1?
【发布时间】:2014-12-19 13:29:32
【问题描述】:

除了插入/更新步骤之外,是否有任何步骤或逻辑可以维护 SCD 类型 1。至于为大数据维护这一点需要大量时间。 这是一个简单的步骤,其中从我们获取的表中获取最大(更新时间)以及更新日期之后的数据,并根据插入/更新中的业务键简单地插入目标表中。 详细的解释会很有帮助

【问题讨论】:

  • 您尝试过Merge Rows Diff 步骤吗?在这里查看我的答案:Insert/Update step.

标签: pentaho kettle pdi


【解决方案1】:

对于纯维度控制,您可以使用组合查找/更新或维度查找/更新(更新类型 = 更新或穿透,它表现为 SCD 类型 I)。

但是,它们总是会遇到同样的问题:往返于数据库,会降低您的速度。他们通过缓存在一定程度上缓解了这种情况,但这可能还不够,具体取决于可能需要多少更新。

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

  1. 在数据库上为作为 SCD 键的字段创建唯一索引;
  2. 尝试使用表输出步骤插入所有记录。数据库中已经存在的那些行将被拒绝。
  3. 在表输出后添加一个更新步骤,但不是将其与“步骤的主要输出”黑跳连接,而是通过错误处理红跳连接。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多