Sunt interesat sa stiu daca cineva de aici a venit într-o situație în cazul în care sursa nu este întotdeauna unic atunci când se ocupă cu instantanee în DBT.
Am un date cu lac, în cazul în care datele ajung pe o adăuga doar baza. De fiecare dată când sursă este actualizat, un nou înregistrate este creat pe tabelul respectiv în datele de lac.
De data DBT soluție este verificat, sursa mea ar putea avea mai mult de 1 rand cu id-ul unic de date s-a schimbat de mai multe ori de la ultima cursa.
În mod ideal, aș dori pentru a actualiza respective dbt_valid_to coloane din imagine tabel cu primele updated_at record de la sursă și, ulterior, se adaugă înregistrări noi la snapshot masa de luare cele mai recente updated_at înregistra cel actual.
Știu cum de a realiza acest lucru, folosind fereastra de funcții, dar nu sunt sigur cum să se ocupe de o astfel de situație cu dbt.
Mă întreb dacă cineva s-a confruntat cu aceeași problemă înainte.
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 |