Работа над ошибками по: 'Типы таблиц', 'View и Distribute движки'.

This commit is contained in:
mnoskov
2026-05-17 17:18:10 +03:00
parent fb29b369f6
commit 21aa48c237
2 changed files with 33 additions and 30 deletions
@@ -18,9 +18,9 @@ ENGINE = Distributed(
'clickhouse_cluster',
'mnoskov',
'logs',
rand()
user_id
);
-- параметр rand() - это ключ распределния как я понял. Если стоит он, то распределяются данные случайно, если укащать колонку, то по колонке.
-- параметр rand() - это ключ распределния между шардами. Если стоит он, то распределяются данные случайно, если укащать колонку, то по колонке.
-- Задание 2
@@ -54,16 +54,15 @@ LIMIT 100;
-- Задание 3
-- тут вообще жопа какая-то. Если смотреть на пример создания MV, то выдает ошибку мол engine указывать нельзя. Полез в документацию, там сказано что после указания имени mv нужно добавлять TO ... но все равно выдется ошибка.
-- этот способ я в хабре нашел
CREATE TABLE mnoskov.raw_events
ON CLUSTER clickhouse_cluster
(
event_time DateTime,
user_id UInt32,
event_type String
event_time DateTime,
user_id UInt32,
event_type String
)
ENGINE = MergeTree
ORDER BY (event_time, user_id);
ENGINE=MergeTree
ORDER BY(event_time,user_id);
CREATE TABLE mnoskov.agr_clicks_per_day
ON CLUSTER clickhouse_cluster
@@ -71,17 +70,17 @@ ON CLUSTER clickhouse_cluster
event_date Date,
count UInt64
)
ENGINE = MergeTree
ENGINE=SummingMergeTree
ORDER BY event_date;
CREATE MATERIALIZED VIEW mnoskov.mv_clicks_per_day TO mnosokv.agr_clicks_per_day AS
CREATE MATERIALIZED VIEW mnoskov.mv_clicks_per_day
ON CLUSTER clickhouse_cluster
TO mnoskov.agr_clicks_per_day AS
SELECT
toDate(event_time) AS event_date,
count(*) AS count
FROM
mnoskov.raw_events
GROUP BY
event_date;
FROM mnoskov.raw_events
GROUP BY event_date;
SELECT * FROM mnoskov.agr_clicks_per_day;
-- ничего у меня получилось, и с SummingMergeTree ни с MergeTree. Как очень непонятно материализованные таблицы работают. Если делать как в теории в инфре, то тоже ничего не работает.
SELECT * FROM mnoskov.raw_events;
SELECT * FROM mnoskov.agr_clicks_per_day;