0

我试图理解完整表、增量表和增量表的概念,原则上为了简化(更快的加载过程)每日 ETL 负载是使用增量表的好习惯

满桌

增量表

增量表

我读过一些地方

使用增量负载移动数据可以缩短 ETL 流程的运行时间并降低出现问题时的风险

有人可以帮我理解这个概念吗?

4

2 回答 2

1
  • full,顾名思义,加载所有内容,整个源数据文件
  • 增量 - 或增量(这些是同义词,不是两种不同的类型) - 意味着您只加载尚未加载的数据。这通常意味着已经记录了最后一次加载的时间。下一个加载会话加载最后一次成功加载时间戳之后创建的数据

作为

  • “缩短运行时间”:显然,如果您不必加载所有内容,只需加载缺少的内容,则需要更少的时间
  • “降低风险”:您不会弄乱已经加载的数据,它会保留在数据库中。如果出现问题,则当前加载会话会出现问题,因此您可以放弃所做的更改并重新开始
于 2021-02-28T16:34:21.217 回答
1

好吧,您没有提供报价参考,但根据我的经验,它只有 50% 正确。

我读过它:

使用增量加载来移动数据可以缩短 ETL 流程的运行时间, 但会增加 出现问题的风险

问题出在误差累积上。如果您在完全加载时获得损坏或不完整的数据,您将在下一次加载时将它们删除,并且新加载很有可能是有效的。

与增量负载相反,错误仍然存​​在并且可以在一段时间内累积

因此,在实施增量负载时,一个很好的做法是执行定期检查(每天、每月等),以确保源和目标中的完整快照相同。

的经验法则是 -只有在完全加载不可行时才选择增量加载(即对于事务表和大维度)。

于 2021-02-28T17:47:04.517 回答