由于不同的数据源,事实 table 未连接到 dim

Fact table is not connected to dim because of different datasources

我有一个事实 table,我正在从来源 A 获取数据。

然后,我有源 B,它与源 A 有一个公共字段。所以,我想知道我应该如何用暗淡的 table 中的键填充事实 table?

这不仅仅是一次简单的数据拉取,因为它需要认真清理。我假设在暂存 tables 中我不应该做任何转换。这是否意味着它看起来像下面这样?

  1. 将数据从源 B 拉到分段 table。
  2. 进行清理并将结果保存在 pre_dim table(s)
  3. 用 (2) 中的 table 加入事实 table 公共字段?
  4. 创建 dim tables
  5. Link 用代理键 table 使 table 变暗?

每天截断 (2) 中的 table 并重新创建新的 table - 请参阅 (2)?

你的方向是正确的,但我通常将所有级别(staging、etl、dwh)分开,因为这样更容易控制数据、清理和验证。

所以我会这样做:

  1. 将数据从源 B 和 A 拉到分段 tables(st_A 和 st_B)。
  2. 创建 table etl_A 和 etl_B,PK dim_B 和 FK dim_B。
  3. 截断 table 并将源 B 中的数据插入 etl_B,并在 dim_B.
  4. 中创建唯一的 PK 数据
  5. 截断 table 并从加入 etl_B 的源 A 插入数据(您现在可以填写 FK dim_B)
  6. 下一步可能是分区交换?或插入,或散装。我不知道你用的是什么RDBMS以及你的目的。