Данные для инкремента статусов
This commit is contained in:
@@ -217,8 +217,16 @@ ORDER BY customer_bk, valid_from;
|
|||||||
|
|
||||||
Если хочется потренироваться глубже:
|
Если хочется потренироваться глубже:
|
||||||
|
|
||||||
1. Добавьте в CSV ещё несколько событий смены статуса (например, переход части клиентов из `churned` обратно в `active`).
|
1. Добавьте ещё несколько событий смены статуса (например, переход части клиентов из `churned` обратно в `active`).
|
||||||
2. Загрузите новые строки только в `stg.customer_status_raw`.
|
- Можно дописать в исходный CSV самостоятельно.
|
||||||
|
- Либо взять готовую порцию “для инкремента” из файла `dwh-modeling/data/customer_status_events_increment.csv`.
|
||||||
|
2. Загрузите **только новые строки** в `stg.customer_status_raw` (не делайте `TRUNCATE`):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat dwh-modeling/data/customer_status_events_increment.csv | ./postgres-bookings/psql_sh -c \
|
||||||
|
"\\copy stg.customer_status_raw(customer_id,status,event_ts,_load_id,_load_ts) FROM STDIN WITH (FORMAT csv, HEADER true)"
|
||||||
|
```
|
||||||
|
|
||||||
3. Напишите логику инкрементального обновления `dds.dim_customer_status`:
|
3. Напишите логику инкрементального обновления `dds.dim_customer_status`:
|
||||||
|
|
||||||
- ориентируйтесь на пример из `03_demo_increment.sql` для `dds.dim_customer`;
|
- ориентируйтесь на пример из `03_demo_increment.sql` для `dds.dim_customer`;
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
customer_id,status,event_ts,_load_id,load_ts
|
||||||
|
101,active,2024-11-15 09:00:00,batch_20241115_1000,2024-11-15 10:00:00
|
||||||
|
102,active,2024-05-05 09:30:00,batch_20240505_1000,2024-05-05 10:00:00
|
||||||
|
103,active,2024-03-20 12:00:00,batch_20240320_1300,2024-03-20 13:00:00
|
||||||
|
104,new,2024-06-01 08:00:00,batch_20240601_0900,2024-06-01 09:00:00
|
||||||
|
Reference in New Issue
Block a user