Estoy interesado en saber si alguien de aquí ha venido a través de una situación en la que la fuente no es siempre única cuando se trata con instantáneas en el DBT.
He de datos lago donde llegan los datos en un anexar sólo la base. Cada vez que la fuente se actualiza, una nueva registrado es creado en la respectiva tabla de datos en el lago.
Por el momento el DBT solución que se corrió, mi origen podría tener más de 1 fila con el código único de identificación como de los datos ha cambiado más de una vez desde la última ejecución.
Idealmente, me gustaría actualizar los respectivos dbt_valid_to columnas de la instantánea de la tabla con los primeros updated_at registro de la fuente y, posteriormente, agregar los registros nuevos a la instantánea de la tabla de fabricación de la última updated_at registro de la actual.
Sé cómo conseguir esto utilizando las funciones de la ventana, pero no sabe cómo manejar esta situación con dbt.
Me pregunto si alguien se ha enfrentado a este mismo problema de antes.
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 |