나는 누군가가 여기에는 이제까지 상황에 걸쳐 올 원본되지 않은 항상 독특한 다룰 때는 스냅샷에 DBT.
나는 데이터 레이크는 데이터에 도착한 추가만으로. 모든 시간에 원본을 업데이트,새로운 기록을 만들 각각의 테이블에서 데이터 호수도 있습니다.
시간 DBT 솔루션은 실행,내 소스에 있는 1 개 이상의 행한 고유 id 로의 데이터 변경이 한번 이상 이후 실행됩니다.
이상적으로,나 업데이트하려는 해당 dbt_valid_to 열에서 이 스냅샷은 테이블과 함께 초기 updated_at 기록에서 원본과 이후에 추가 새 레코드를 스냅샷을 만드는 테이블에 최신 updated_at 기록은 전자민원으로 처리가 가능합니다.
나는 방법을 알고 이를 달성하기 위해 윈도우를 사용하여 기능을 하지만 확실하지 않을 처리하는 방법과 같은 상황 dbt.
I wonder if 누군가가 직면하는 이 같은 문제다.
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 |