Azure DataWarehouse 中的数据加载_需要解决方案

问题描述

我想以一致的方式将数据存储在 DWH 中。每周我都需要从本地 sqlDB 加载 AzureDW 中的数据。 问题是我在每周得到的表中有主键。表格示例

enter image description here

我想设计成所有 4 条记录都存储在 DW 中。

我应该使用代理键还是有其他更好的方法

解决方法

如果这是暂存源数据,我不会添加代理键,通常您只在维度模型中创建代理键。

如果您的数据量在每次运行过程时都以半指数增长(不太可能),我将作为 CTAS 进行处理,否则我将执行 插入 dbo.table SELECT *,SYSUTCDATETIME() AS RECORD_INSERT_DATE FROM dbo.table_external_table

因此,您只需插入所有传入数据并为插入日期添加时间戳。你的 NK 和时间戳成为你在桌子上的唯一键。

如果您的要求涉及轻松返回记录的当前版本,您可以使用 typeII SCD 模式为记录的最新版本设置结束日期,并为记录的新版本设置开始日期 + 活动标志。