DWH 重新加载数据

Posted

技术标签:

【中文标题】DWH 重新加载数据【英文标题】:DWH Reload data 【发布时间】:2021-08-26 09:53:13 【问题描述】:

在每月增量加载的 DWH 中,我的任务是创建能够在 DWH 中重新加载随机月份的进程。

假设在现有 DWH 中重新加载 2021 年 2 月的数据。

如果我在 2021 年 8 月 15 日重新加载 2021 年 2 月的数据,我的 SCD2 维度 Customer 最终将是这样的:

在下一次加载之前,我可能有错误的维度属性。并且 DateFrom/DateTo 中的日期会被弄乱。

问题:

    单月重新加载是个好方法吗? 如果是,有什么建议如何处理吗? 在这种情况下,我希望完全重新加载 DWH。这是个好主意吗?

使用 SSIS ETL 工具在 sql server 上工作。

谢谢

【问题讨论】:

【参考方案1】:

如果您只是运行现有流程,那么为了重新加载数据,您需要将 DWH 回滚到不正确数据之前的位置,再次应用更新的数据集,然后重新应用所有后续数据集。 显然,这是一项重要的工作,因此不是一个好主意,除非您别无选择,而且绝对不想定期运行。

如果您确实希望能够重新应用过去的单个数据集,那么您需要编写一个流程来执行此操作,例如

识别与更新数据集对应的现有记录并将其删除 插入更新后的数据集,同时考虑之前和之后的记录

【讨论】:

以上是关于DWH 重新加载数据的主要内容,如果未能解决你的问题,请参考以下文章

每天将 1 亿行加载到 DWH

最佳设计模式——用于 DWH 加载的 SSIS 包

应该应用啥策略来将此源类型加载到 DWH?

BI 架构建议

不同总数的 SSIS 计算

router不重新加载数据