Jestem zainteresowany, aby wiedzieć, spotkałem się czy ktoś tutaj z sytuacją, gdy źródło nie zawsze jest wyjątkowy podczas pracy ze zdjęciami w DBT.
Mam jezioro danych, gdzie dane pochodzą tylko na podstawie dodawania. Za każdym razem, gdy źródło jest aktualizowany, w odpowiedniej tabeli w jeziorze danych tworzony jest nowy rekord.
Do momentu uruchomienia rozwiązania DBT w moim źródle może być więcej niż 1 wiersza z unikalnym identyfikatorem, ponieważ zmieniały się kilka razy od czasu ostatniego uruchomienia.
Najlepiej chciałbym zaktualizować odpowiednie kolumny dbt_valid_to z tabeli migawek z wczesnej odświeżony записью_at ze źródła, a następnie dodawać nowe rekordy do tabeli migawki poprzez najnowszą zaktualizowaną запись_at bieżącej.
Wiem, jak to osiągnąć z pomocą okiennych funkcji, ale nie wiem, jak poradzić sobie z taką sytuacją z dbt.
Co ciekawe, spotkałem się czy ktoś z takim samym problemem wcześniej?
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 |