我有兴趣知道如果有人在这里有没有碰到过的情况下,来源并不总是唯一在处理中的快照DBT.
我有一个数据湖那里的数据达在一种追加的唯一基础。 每次的源被更新,一个新的记录是建立在相应的表格中的数据湖。
通过时间DBT解决方案是跑了,我来源可能有超过1行的唯一标识作为该数据已经改变了多次由于过去运行。
理想情况下,我想更新各自的dbt_valid_to列的快照表最早的updated_at记录的来源,并随后添加新的记录,以快照表作出最新的updated_at记录目前一个。
我知道如何实现这一使用窗口的功能但不知道该如何处理这种情况dbt.
我不知道,如果任何人面临这一问题之前。
Snapshot Table
| **id** | **some_attribute** | **valid_from** | **valid_to** |
| 123 | ABCD | 2021-01-01 00:00:00 | 2021-06-30 00:00:00 |
| 123 | ZABC | 2021-06-30 00:00:00 | null |
Source Table
|**id**|**some_attribute**| **updated_at** |
| 123 | ABCD | 2021-01-01 00:00:00 |-> already been loaded to snapshot
| 123 | ZABC | 2021-06-30 00:00:00 |-> already been loaded to snapshot
-------------------------------------------
| 123 | ZZAB | 2021-11-21 00:10:00 |
| 123 | FXAB | 2021-11-21 15:11:00 |
Snapshot Desired Result
| **id** | **some_attribute** | **valid_from** | **valid_to** |
| 123 | ABCD | 2021-01-01 00:00:00 | 2021-06-30 00:00:00 |
| 123 | ZABC | 2021-06-30 00:00:00 | 2021-11-21 00:10:00 |
| 123 | ZZAB | 2021-11-21 00:10:00 | 2021-11-21 15:11:00 |
| 123 | FXAB | 2021-11-21 15:11:00 | null |