0

我是使用 SSIS 包的新手,并且对在将数据从登陆到登台时找到增量的最佳实践感到困惑。要求是从 Consolidated Data Store (CDS) 创建几个报告,数据从源头流到 Landing 到 Staging 到 CDS 作为 ETL 包,最后从 CDS 构建报告。

我已经成功创建了将数据从源移动到着陆的包,因为它们非常简单。将数据从 Landing 移动到 Staging 有点令人困惑,因为修改日期是不够的,因为从上次 ETL 运行进行 2 次更改可以将数据返回到前一个日期的数据,这意味着自上次 ETL 运行以来没有任何更改。例如,一个值从 A 变为 B,然后又变为 A - 表示数据已返回到原始状态,但 modifiedOn 列发生了变化。

那么,应该将 Landing 中的所有列与 Staging 中的现有列连续进行比较,还是仅将与交付报告相关的列进行比较?还是有其他方法可以找到增量?

如果不清楚或需要更多详细信息,请告诉我。

4

2 回答 2

1

这是您的业务的问题。我们希望他们在我们的需求文档中定义什么是增量。对一些人来说,它只是几个领域,而对另一些人来说,它就是一切。这取决于业务需要。我会把这个问题发给任何给你要求的人。如果您很好地了解您的业务,您可以在电子邮件中包含有关您认为增量会是什么的建议,并且大多数时候他们会重新体验,而不必自己弄清楚并且会接受您的建议。但只有在您真正了解与数据相关的正常业务需求时才这样做。您还可以向他们提供各种可能性的利弊,以帮助他们做出决定。

于 2013-04-23T15:14:38.190 回答
0

为什么要获得确切的增量?我的意思是,如果没有发生真正的变化,您为什么不希望已经提交到 CDS 的行重新提交?如果您没有商业原因(报告需要)这样做,那么听起来您在不需要的地方增加了复杂性。

无论如何,如果您真的需要这个,我建议您计算有趣列的 CHECKSUM 并使用旧行的校验和检查新行的校验和。该博客应该可以帮助您了解如何使用校验和。

于 2013-04-24T18:36:23.420 回答