Size: a a a

ClickHouse не тормозит

2020 June 26

D

Dj in ClickHouse не тормозит
источник

ЗС

Зуфар Самигуллин... in ClickHouse не тормозит
Всем привет! Подскажите пожалуйства. Кликхаус не умееет следить за изменениями в материализованном представлении?
источник

D

Dj in ClickHouse не тормозит
Зуфар Самигуллин
Всем привет! Подскажите пожалуйства. Кликхаус не умееет следить за изменениями в материализованном представлении?
"следить"- а тут что имеется ввиду?
источник

DT

Dmitry Titov in ClickHouse не тормозит
Зуфар Самигуллин
Всем привет! Подскажите пожалуйства. Кликхаус не умееет следить за изменениями в материализованном представлении?
в кликхаусе мат вью это просто триггер на инсерт
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Зуфар Самигуллин
Всем привет! Подскажите пожалуйства. Кликхаус не умееет следить за изменениями в материализованном представлении?
нет, может live view нужен?
источник

ЗС

Зуфар Самигуллин... in ClickHouse не тормозит
Есть таблица A
От неё сделано материализованное представление B
От него нужно сделать ещё одну вьюху С
источник

D

Dj in ClickHouse не тормозит
каскадировать - можно
источник

ЗС

Зуфар Самигуллин... in ClickHouse не тормозит
Но считать будет только во время выполнения запроса так понимаю?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Зуфар Самигуллин
Есть таблица A
От неё сделано материализованное представление B
От него нужно сделать ещё одну вьюху С
каскадирование работает, только если имя стораджа неявное у MV то у второго надо from ".inner.первое_mv"
источник

D

Dj in ClickHouse не тормозит
Зуфар Самигуллин
Но считать будет только во время выполнения запроса так понимаю?
нет, он во время вставки все считает/аггрегирует.
то что в КХ названо МВ, не совсем МВ... это каскадированный инсерт
источник

ЗС

Зуфар Самигуллин... in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
каскадирование работает, только если имя стораджа неявное у MV то у второго надо from ".inner.первое_mv"
Что то не найду в доке такого, там есть только TO
источник

ЗС

Зуфар Самигуллин... in ClickHouse не тормозит
CREATE MATERIALIZED VIEW limit_per_minuts
           ENGINE = AggregatingMergeTree()
               PARTITION BY toYYYYMM(timestamp)
               TTL timestamp + INTERVAL 1 MONTH
               PRIMARY KEY (skin_id, timestamp)
               ORDER BY (skin_id, timestamp)
AS
SELECT skin_id
    , timestamp
    , quantileExactWeightedState(0.8)(price, offers) AS max
    , quantileExactWeightedState(0.2)(price, offers) AS min
FROM states
GROUP BY skin_id, timestamp;

CREATE MATERIALIZED VIEW limit_per_hours
           ENGINE = AggregatingMergeTree()
               PARTITION BY toYYYYMM(timestamp)
               TTL timestamp + INTERVAL 1 MONTH
               PRIMARY KEY (skin_id, timestamp)
               ORDER BY (skin_id, timestamp)
AS
SELECT skin_id,
      timestamp,
      quantileExactWeightedMergeState(0.8)(max) AS max,
      quantileExactWeightedMergeState(0.2)(min) AS min
FROM (
     SELECT skin_id,
            toDateTime(formatDateTime(timestamp, '%Y-%m-%d %H:00:00')) AS timestamp,
            min,
            max
     FROM default.limit_per_minuts
        )
GROUP BY skin_id,
        timestamp;
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Зуфар Самигуллин
Что то не найду в доке такого, там есть только TO
когда создаете MV и не указываете TO, то таблица создается автоматически с именем .inner
источник

ЗС

Зуфар Самигуллин... in ClickHouse не тормозит
Вот такое почему то не работает
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
таблица настоящая, в которой данные лежат имеет имя .inner.limit_per_minuts
источник

ЗС

Зуфар Самигуллин... in ClickHouse не тормозит
limit_per_minuts - тут данные есть, limit_per_hours - а тут нет
источник

ЗС

Зуфар Самигуллин... in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
таблица настоящая, в которой данные лежат имеет имя .inner.limit_per_minuts
🤔
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
поэтому по во втором MV надо
вместо. FROM default.limit_per_minuts
написать FROM default.".inner.limit_per_minuts"
источник

AT

Al T in ClickHouse не тормозит
Dj
+1, а как можно заставить клиента НЕ РЕЗАТЬ?
select 'asasa' as requestId, 'dj' as login ? для кеша правда не очень
источник

ЗС

Зуфар Самигуллин... in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
поэтому по во втором MV надо
вместо. FROM default.limit_per_minuts
написать FROM default.".inner.limit_per_minuts"
Хм, попробую. Надо бы в документацию данный момент вынести)))
источник