feat(clickhouse): добавлен словарь товаров из каталога

- Зачем:
  - витринам нужен общий с генератором каталог, а менти — пример штатного обновления словаря.
- Что:
  - каталог смонтирован read-only в обе ноды и создан как dds.products ON CLUSTER.
  - роли получили dictGet, а check-clickhouse сверяет ответ под etl с исходным CSV.
  - источник, раскладка и явная политика обновления записаны в документации.
- Проверка:
  - make up с чистыми томами; make lint; make config-test; make smoke; make check-clickhouse.
  - в generator: make lint typecheck test — 427 тестов прошли.
This commit is contained in:
2026-08-19 00:50:14 +03:00
parent 62b275ef94
commit 13abc58d98
8 changed files with 106 additions and 22 deletions
+16
View File
@@ -0,0 +1,16 @@
-- Общий с генератором каталог товаров. ClickHouse разрешает файловому
-- источнику читать только из user_files; Compose монтирует сюда один и тот же
-- файл на обе ноды. Цена хранится в копейках, как и в контракте события.
CREATE DICTIONARY IF NOT EXISTS dds.products ON CLUSTER clickstream_cluster
(
sku String,
name String,
category String,
brand String,
price Int64,
demand String
)
PRIMARY KEY sku
SOURCE(FILE(PATH './user_files/catalog/products.csv' FORMAT 'CSVWithNames'))
LAYOUT(COMPLEX_KEY_HASHED())
LIFETIME(0);