- Зачем: - витринам нужен общий с генератором каталог, а менти — пример штатного обновления словаря. - Что: - каталог смонтирован 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 тестов прошли.
17 lines
696 B
SQL
17 lines
696 B
SQL
-- Общий с генератором каталог товаров. 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);
|