0

我正在使用 Data Vault 2.0 模型。在这里,我们不应该在表中使用 UPDATE。通常在 RDBMS 中,我们使用 UPDATE & INSERT 策略来实现 SCD-2。但就我而言,我只能使用 INSER 策略。我的源是 Kafka 输入,它被加载到雪花中(作为 avro 格式),我正在展平并将其加载到另一个 RDBMS 格式的表中。

我的问题是:谁能帮我在不使用 UPDATE 的情况下实现 SCD 类型 2 逻辑。只有使用 INSERT 策略我必须这样做。

我也应该保留历史。例如,如果我在区间-a 和区间-b 中得到 rec-1,我得到了 rec-1 的 2 次更新,那么我需要在我的目标中加载所有三个记录,指向最后一条记录将是最新的一。

4

1 回答 1

-1

您的卫星密钥需要由哈希密钥 + 加载日期时间戳组成。然后每个单独的版本将有一个新的主密钥,因此可以插入到卫星中。通过查询最新的时间戳,您将获得最新版本。

您可以在此处找到示例脚本:https ://simplesqlbi.home.blog/2019/06/29/part-3-data-vault-for-beginners/

于 2022-01-18T14:56:18.747 回答