Je suis curieux de savoir si quelqu'un ici a jamais rencontré une situation où la source n'est pas toujours unique lorsque vous traitez avec des instantanés dans la TCD.
J'ai un data lake, où les données arrivent sur un ajout seule base. Chaque fois que la source est mise à jour, un nouveau est créé sur la table correspondante dans les données du lac.
Au moment où le TCD solution est couru, ma source pourrait avoir plus de 1 ligne avec l'id unique que les données ont changé plus d'une fois depuis la dernière exécution.
Idéalement, j'aimerais mettre à jour les respectifs dbt_valid_to colonnes de la capture d'écran de la table avec les premiers updated_at enregistrement de la source et par la suite ajouter les nouveaux fichiers à l'instantané de la table de prise de la dernière updated_at enregistrement de l'actuel.
Je sais comment y parvenir en utilisant des fonctions de la fenêtre, mais ne savez pas comment gérer cette situation avec la tcd.
Je me demande si quelqu'un a été confronté à ce même problème avant.
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 |