Size: a a a

ClickHouse не тормозит

2020 May 25

DC

Denny Crane (I don't... in ClickHouse не тормозит
Oleksiy Golovko
@den_crane Спасибо! Т.е. всегда имеет смысл заносить -State во внутренний запрос?
как бы runningAccumulate это такая очень странная хрень очень ограниченного применения, пока непонятно что вам надо можно только гадать.

SELECT
   d,
   n
FROM
(
   SELECT
       groupArray(date) AS dg,
       arrayCumSum(groupArray(n)) AS ng
   FROM
   (
       SELECT
           arrayJoin(['2020-01-01', '2020-01-02', '2020-01-03']) AS date,
           1 AS n
       ORDER BY date ASC
   )
)
ARRAY JOIN
   dg AS d,
   ng AS n

┌─d──────────┬─n─┐
│ 2020-01-01 │ 1 │
│ 2020-01-02 │ 2 │
│ 2020-01-03 │ 3 │
└────────────┴───┘
источник

OG

Oleksiy Golovko in ClickHouse не тормозит
@den_crane У меня есть список событий, по каждому событию есть timestamp и некое значение. В зависимости от типа значения оно будет либо прибавляться, либо отниматься (но этим можно пренебречь - пусть всегда прибавляется). Мне нужно найти кумулятивное значение на конец каждого дня
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Oleksiy Golovko
@den_crane У меня есть список событий, по каждому событию есть timestamp и некое значение. В зависимости от типа значения оно будет либо прибавляться, либо отниматься (но этим можно пренебречь - пусть всегда прибавляется). Мне нужно найти кумулятивное значение на конец каждого дня
кумулятивное значение на конец каждого дня === sum
не нужен нарастающий итог
источник

OG

Oleksiy Golovko in ClickHouse не тормозит
Нужен, если бы не нужен, то все просто.
источник

OG

Oleksiy Golovko in ClickHouse не тормозит
т.е. day (N + 1) = day N + (all values in day (N + 1))
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
я читаю то что вы пишете и у себя в голове отражаю ваши слова. Поэтому я и говорю что непонятно что вам нужно
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Oleksiy Golovko
т.е. day (N + 1) = day N + (all values in day (N + 1))
ну это sum как это не смешно звучит
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
т.е. непонятно надо за прыдущие дни строки показать или надо одну финальную сумму7
источник

OG

Oleksiy Golovko in ClickHouse не тормозит
А, понял. Надо строки за все дни
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Oleksiy Golovko
А, понял. Надо строки за все дни
берите вот этот пример arrayCumSum https://t.me/clickhouse_ru/162540
источник

VN

Viacheslav Nefedov in ClickHouse не тормозит
Дмитрий Бережнов
У вас не было проблем с перегоном колонок с типом Array? Я не знаю есть ли в Вертике массивы. У меня в исходной базе были (монга) и при записи в КХ через jdbc спарк падал, не мог записать колонку с типом Array
Мы проверяли, что спарк с bigquery массивы корректно читал. Но перегонять в clickhouse не стали. Поэтому не знаю будут ли проблемы.
источник

SB

Sergey Bugaev in ClickHouse не тормозит
Всем привет.

Кластер из двух шардов, реплика
A-B C-D

Проверяем систему восстановления из бекапа, вернули во времени ноду B на несколько часов назад. Теперь она отказывается стартовать т.к.
DB::Exception: The local set of parts of table ДБНЕЙМ.ТейблНейм doesn't look like the set of parts in ZooKeeper: 5.22 million rows of 9.76 million total rows in filesystem are suspicious

ZooKeeper и другие ноды не откатывались

Правильной ли идеей кажется поднять на ноде B флаг force_restore_data и что именно произойдет: нода В пойдет перекачивать все с нуля с ноды А или или постарается нагнать только недостающее?

Заранее спасибо
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Sergey Bugaev
Всем привет.

Кластер из двух шардов, реплика
A-B C-D

Проверяем систему восстановления из бекапа, вернули во времени ноду B на несколько часов назад. Теперь она отказывается стартовать т.к.
DB::Exception: The local set of parts of table ДБНЕЙМ.ТейблНейм doesn't look like the set of parts in ZooKeeper: 5.22 million rows of 9.76 million total rows in filesystem are suspicious

ZooKeeper и другие ноды не откатывались

Правильной ли идеей кажется поднять на ноде B флаг force_restore_data и что именно произойдет: нода В пойдет перекачивать все с нуля с ноды А или или постарается нагнать только недостающее?

Заранее спасибо
идея про флаг правильная, скачиваться будет недостающее
источник

ДБ

Дмитрий Бережнов... in ClickHouse не тормозит
Viacheslav Nefedov
Мы проверяли, что спарк с bigquery массивы корректно читал. Но перегонять в clickhouse не стали. Поэтому не знаю будут ли проблемы.
Не чтение, а запись. Т.е. из монги я спарком читал массив - ок. А при попытке писать строку с колонкой с типом Array - падало
источник

Д

Дмитрий in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
читайте в логе КХ, грепайте по id мутации
последние записи были 3 часа назад, как будто мутация делалась, а потом повисла. KILL MUTATION в мою версию похоже ещё не завезли. есть какие-то варианты определить что происходит вообще внутри?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Дмитрий
последние записи были 3 часа назад, как будто мутация делалась, а потом повисла. KILL MUTATION в мою версию похоже ещё не завезли. есть какие-то варианты определить что происходит вообще внутри?
parts_to_do не меняется вообще?
источник

Д

Дмитрий in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
parts_to_do не меняется вообще?
вот так висит уже 3 часа или даже больше
источник

Д

Дмитрий in ClickHouse не тормозит
там была сначала одна мутация, потом зависла, я рестартнул сервер, все равно не двигается, я запустил вторую на чистку меньшей выборки, так же подвисла.
источник

D

Dj in ClickHouse не тормозит
старый вопрос у меня так и не решился... жду рацпредложений от гуру )
—-
всем добрый вечер, очередная головоломка )
как за-семи-джойнить две таблицы  (а точнее отфильтровать одну при помощи второй) по совпадению в префиксе.
пока смог только так, но по итогу выпадает с аут оф мемори (видимо arrayExists  копирует входной массив на каждую строку в where).

пример
with (
 select groupArray(objfilter) from (
   select 'lvl1=2,lvl2=3,lvl3=5' as objfilter UNION ALL
   select 'lvl1=1,lvl2=3,lvl3=5,lvl4=43' as objfilter
 )
) as fltArr
select fltArr, * from
(
select 'lvl1=2,lvl2=3,lvl3=5' as objpath UNION ALL
select 'lvl1=2,lvl2=3,lvl3=5,lvl4=2' as objpath UNION ALL
select 'lvl1=2,lvl2=3,lvl3=5,lvl4=44' as objpath UNION ALL
select 'lvl1=3,lvl2=3,lvl3=6' as objpath UNION ALL
select 'lvl1=2,lvl2=3' as objpath UNION ALL
select 'lvl1=1,lvl2=3,lvl3=5' as objpath  
) t
WHERE arrayExists(
               selectedObj ->
                    (startsWith(objpath, selectedObj)
                       or startsWith(selectedObj, objpath)),
               fltArr);
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Дмитрий
вот так висит уже 3 часа или даже больше
т.е. данные еще не удалились? проверяли селектом?

что возвращает вот этот запрос

select * from system.parts where bytes_on_disk > (select toInt64(value) from system.merge_tree_settings where name = 'max_bytes_to_merge_at_max_space_in_pool')
источник