Size: a a a

ClickHouse не тормозит

2021 February 08

AP

Alexander Petrov in ClickHouse не тормозит
Владимир Климов
Привет!
Подскажите, пожалуйста, что делать если после пересоздания MV в dependencies_table она начинает дублироваться и выглядит это так:
['table_mv', 'table_mv', 'table_mv', 'table_mv']?
Из-за этого вставки в основную таблицу падают с ошибкой:
Table schema.table_mv doesn't exist.
Привет. А что за MV и версия сервера?
источник

AP

Alexander Petrov in ClickHouse не тормозит
Владимир Климов
Привет!
Подскажите, пожалуйста, что делать если после пересоздания MV в dependencies_table она начинает дублироваться и выглядит это так:
['table_mv', 'table_mv', 'table_mv', 'table_mv']?
Из-за этого вставки в основную таблицу падают с ошибкой:
Table schema.table_mv doesn't exist.
Можно в личку чтобы не переписывать MV
источник

ВК

Владимир Климов... in ClickHouse не тормозит
Alexander Petrov
Привет. А что за MV и версия сервера?
Версия: 20.12.4.5
MV - Material View, которая агрегирует статистики для основной таблицы в которую не вставляются данные из-за ошибки описанной выше.
Возможно я не верно понял вопрос.
источник

AP

Alexander Petrov in ClickHouse не тормозит
Владимир Климов
Версия: 20.12.4.5
MV - Material View, которая агрегирует статистики для основной таблицы в которую не вставляются данные из-за ошибки описанной выше.
Возможно я не верно понял вопрос.
Меня текст MV интересовал.
источник

ВК

Владимир Климов... in ClickHouse не тормозит
Alexander Petrov
Меня текст MV интересовал.
ок, пришлю в личку!
источник

V

Vitaly in ClickHouse не тормозит
Всем привет, есть таблица с такими данными:
uuid                                                                         payout  is_upsell      
ccc991c1-5dcf-41ca-801c-f9f519761c25 8   0
ccc991c1-5dcf-41ca-801c-f9f519761c25 10
    1
ccc991c1-5dcf-41ca-801c-f9f519761c25 8
  0
ccc991c1-5dcf-41ca-801c-f9f519761c25 10
  0
ccc991c1-5dcf-41ca-801c-f9f519761c25 12
  1

Как можно посчитать сумму с условиями
Поясню, логика работы, если  последнее значение is_upsell = 1, тогда смотрим предыдущее значение, если значение is_upsell = 1, смотрим еще предыдущее, если оно 0, тогда суммируем payout значения

Из примера выше в итоге хочется видеть конечный результат:
ccc991c1-5dcf-41ca-801c-f9f519761c25 22

Может кто скажет в какую сторону копать или смотреть в доку?
источник

S

Slach in ClickHouse не тормозит
Vitaly
Всем привет, есть таблица с такими данными:
uuid                                                                         payout  is_upsell      
ccc991c1-5dcf-41ca-801c-f9f519761c25 8   0
ccc991c1-5dcf-41ca-801c-f9f519761c25 10
    1
ccc991c1-5dcf-41ca-801c-f9f519761c25 8
  0
ccc991c1-5dcf-41ca-801c-f9f519761c25 10
  0
ccc991c1-5dcf-41ca-801c-f9f519761c25 12
  1

Как можно посчитать сумму с условиями
Поясню, логика работы, если  последнее значение is_upsell = 1, тогда смотрим предыдущее значение, если значение is_upsell = 1, смотрим еще предыдущее, если оно 0, тогда суммируем payout значения

Из примера выше в итоге хочется видеть конечный результат:
ccc991c1-5dcf-41ca-801c-f9f519761c25 22

Может кто скажет в какую сторону копать или смотреть в доку?
sumIf(выражение, выражение для проверки условия
https://clickhouse.tech/docs/en/sql-reference/aggregate-functions/combinators/
источник

V

Vitaly in ClickHouse не тормозит
А разве можно в sumIf множественные кондишены писать и еще в зависимости от предыдущего значения?
Если переводить на  какой нибудь ЯП, это была бы функция в которую приходит коллекцию, коллекцию перебираешь с конца и проверяешь каждый элемент и суммируешь
источник

V

Vitaly in ClickHouse не тормозит
Что-то типа такого:
type Item = {
   is_upsell: boolean;
   payout: number;
}

function sum(items: Item[]): number {
   let sum = 0;

   for (const item of items.reverse()) {
       if(!item.is_upsell) {
           return sum + item.payout;
       }

       sum += item.payout;
   }

   return sum;
}
источник

KB

Kirill Bespalov in ClickHouse не тормозит

deduplicate_blocks_in_dependent_materialized_views

https://clickhouse.tech/docs/ru/operations/settings/settings/#settings-deduplicate-blocks-in-dependent-materialized-views

что то я сообразить не могу.  верно ли, что если я включу эту опцию, то у меня перестанут вставляться строки, чей group by в materialized view имеет один хеш, при этом вставляемый в основную таблицу блок будет разный по хешу?
источник

KB

Kirill Bespalov in ClickHouse не тормозит
почему clickhouse не может использовать хеш от INSERT оригинального? Не materialized view с GROUP BY
источник

KB

Kirill Bespalov in ClickHouse не тормозит
пример - табличка с событиями

event_id, event_type, event_cost

materialized view это group by event_type sum(event_cost)

получается  INSERT’ы вида


INSERT event_id=0 event_type=B, event_cost=1
INSERT event_id=1 event_type=B, event_cost=1
INSERT event_id=2 event_type=B, event_cost=1


не будут триггерить matview так как group by хеш один

type=B, cost=1
источник

DM

Daniil Maximov in ClickHouse не тормозит
Коллеги, кто использует DataGrip
Есть проблема с неверным отображением времени, кто как ее решает?
https://youtrack.jetbrains.com/issue/DBE-7770
источник

DM

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

M

Mishanya in ClickHouse не тормозит
таймзона может быть не та ?
источник

DM

Daniil Maximov in ClickHouse не тормозит
в клике таймзона UTC
слева запрос через консоль яндекс, справа через datagrip. Почему-то datagrip дополнительно вычитает 3 часа. В настройках datagrip стоит использовать зону сервера.
источник

DM

Daniil Maximov in ClickHouse не тормозит
Переустановил data grip, заново создал подключение, стало норм
источник

VM

Vadim Milevskiy in ClickHouse не тормозит
Всем привет!
Вопросик, может кто сталкивался, сделали апдейт (да кх не про это, но всеже) на таблице с 10млн записей, там кластер поднят, в итоге КХ упал и теперь пытается рестартить и сразу же падает
источник

VM

Vadim Milevskiy in ClickHouse не тормозит
вот с такой ошибкой
источник

VM

Vadim Milevskiy in ClickHouse не тормозит
2021.02.08 14:48:56.301149 [ 54 ] {} <Error> void DB::BackgroundProcessingPool::threadFunction(): Code: 173, e.displayText() = DB::ErrnoException: Allocator: Cannot mmap 16.00 EiB., errno: 12, strerror: Cannot allocate memory
источник