Здравствуйте,
Только начал разбираться с yandex clickhouse, появилась задача хранения статистики посещения разных стран
Создал такую таблицу:
CREATE TABLE IF NOT EXISTS hits (
event_date Date DEFAULT toDate(now()),
page_id Int32,
country FixedString(2),
is_private Int8,
views Int32,
rating Int32,
rating_amount Int32
)
ENGINE = SummingMergeTree(event_date, (page_id, country, is_private, event_date), 8192)
И даже начал сохранять статистику, но при выборке не могу получить то, что необходимо, а именно:
Получить page_id отсортированные по views из определенной страны за месяц
В документации есть правила создания таблиц:
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
...
) ENGINE = SummingMergeTree([columns])
[PARTITION BY expr]
[ORDER BY expr]
[SAMPLE BY expr]
[SETTINGS name=value, ...]
При попытке добавить PARTITION BY, ORDER BY натыкаюсь на ошибку:
Fatal error: Uncaught ClickHouseDB\Exception\DatabaseException: With extended storage definition syntax storage SummingMergeTree requires 0 to 1 parameters:
list of columns to sum]
Подскажите какой движок таблицы выбрать и правильную схему создания?