0

我最近在 Astera DWBuilder 上部署了一个数据模型,一切都已完成并验证。它部署成功。我创建了一些数据管道,它们从所有来源获取数据并输入我的数据仓库。这些管道计划在不同的频率上运行。

我注意到一些将数据插入事实表的管道出现故障,问题似乎是由于数据大小或排队作业导致维度表的加载延迟,这导致空值作为外键插入事实表。

我如何确保每当事实加载器运行时,它首先验证维度加载器中的数据?

4

1 回答 1

0

似乎此错误是由于Early Arriving FactLate Arriving Dimension造成的。当您的维度没有更新的数据并且您尝试使用新的业务键填充事实表时,会导致此错误。因此,当事实表尝试查找该业务键的代理键时,它会收到 null,因为尚未创建该维度的记录。

例如,假设您有一个Orders事实表,而Employee是您的维度。假设今天有一个新员工加入,他已经收到了一个订单。由于 Employee 维度尚未更新,因此当我们尝试更新Orders事实表时,维度查找将返回 Null 作为结果。

一种解决方案是在更新事实表之前定期更新维度。第二种解决方案是将您的尺寸标记为占位符尺寸。在您的维度中创建一个新的布尔字段并为其分配“占位符维度”角色。下次当一个事实检查到尚不存在的业务键时,此维度将为该业务键创建一个具有默认值的新记录并返回代理键。稍后,当您使用实际值更新维度时,默认值将被实际值替换。

于 2022-02-23T07:17:30.360 回答