【问题标题】:Should I add hashkey in staging area or in ETL from staging area to DWH?我应该在暂存区还是在 ETL 中从暂存区添加到 DWH?
【发布时间】:2023-03-25 06:58:01
【问题描述】:

我们按照以下结构规划 EDW。

操作系统 --> 暂存区 --> EDW(数据保险库)

根据数据保险库法,需要对业务密钥进行哈希处理。我应该在暂存区还是在 ETL(从暂存区到 EDW)中实现散列。

人们通常如何处理在暂存区添加元数据?

非常感谢

【问题讨论】:

    标签: etl data-warehouse data-vault


    【解决方案1】:
    • 在暂存中散列时,可以准备将​​数据拆分为HubsSatellitesLinks。将数据加载到暂存区时,您只需要计算散列一次(例如CustomerHashKeyCustomerHashDiffCustomerContractLinkHashKey)。除了这些哈希值、Sequence 数字、Load DateSource reference 之外,暂存区域中没有额外的元数据。这使得在暂存时添加的元数据更加清晰。

    • 1234563由于哈希值已经生成一次,加载时不需要额外的处理。此外,只有一个点会生成散列 - 在暂存过程中。下游的所有其他进程都可以使用它们。

    如果您要从暂存到数据仓库中生成散列,您最终可能会多次生成这些散列(HubSatellite (+diff)、Link),这可能会成为 Big 的性能问题数据用例或 CPU 较弱的机器。想想卫星上的HashDiff:如果散列发生在暂存区域,则在插入数据仓库时不需要额外的处理(当表中有很多列时,这可能会很快变得昂贵)。

    所以如果可能的话,我总是会在暂存区散列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-03
      • 2017-11-23
      • 2012-09-25
      • 2012-06-28
      • 2019-06-14
      • 1970-01-01
      • 1970-01-01
      • 2015-03-14
      相关资源
      最近更新 更多