Size: a a a

ClickHouse не тормозит

2020 July 07

AK

Anton Khokhrin in ClickHouse не тормозит
Slach
всем привет, коллеги подскажите
а в какой момент в system.mutations выставляется поле is_done?

мутации это постоянный процесс ведь? или одноразовый?
и если я хочу форсануть мутацию на небольшой таблице в 1.5 Gb
то может ли мне в этом помочь OPTIMIZE TABLE .. FINAL?
Вы путаете mutation и merge
источник

D

Dj in ClickHouse не тормозит
Slach
всем привет, коллеги подскажите
а в какой момент в system.mutations выставляется поле is_done?

мутации это постоянный процесс ведь? или одноразовый?
и если я хочу форсануть мутацию на небольшой таблице в 1.5 Gb
то может ли мне в этом помочь OPTIMIZE TABLE .. FINAL?
поможет
источник

D

Dj in ClickHouse не тормозит
Anton Khokhrin
Вы путаете mutation и merge
mutation - вроде как частный случай merge, и его иногда приходится пинать когда нужны конечные данные
источник

AK

Anton Khokhrin in ClickHouse не тормозит
Dj
mutation - вроде как частный случай merge, и его иногда приходится пинать когда нужны конечные данные
Не встречал такого, не могу сказать.
Но это точно не постоянный процесс :)
источник

D

Dj in ClickHouse не тормозит
Anton Khokhrin
Не встречал такого, не могу сказать.
Но это точно не постоянный процесс :)
думается @BloodJazMan имел ввиду то, что он отрабатывает не синхронно в бэкграунд воркере, хотя это не точно
источник

S

Slach in ClickHouse не тормозит
Anton Khokhrin
Не встречал такого, не могу сказать.
Но это точно не постоянный процесс :)
да, процесс фоновый но не постоянный
в общем я так понял сначала определяется в каких parts мутации отработают, на момент создания мутации
и потом они в фоне рядом с merge отрабатываются, то есть если один кусок будет захвачен одновременно и mutation и merge, вот тут неясно как пойдет, возможно там просто алгоритм один и тот же который выбирает куски для фоновой обработки
источник

S

Slach in ClickHouse не тормозит
Dj
думается @BloodJazMan имел ввиду то, что он отрабатывает не синхронно в бэкграунд воркере, хотя это не точно
в бекграунде все идет, я просто представил ситуацию когда я сделал мутацию
и для нее нет данных
но потом сделал INSERT в котором нужные по условию мутации данные появятся
и не понял до конца этот INSERT будет обработан ПОСЛЕ вставки? или нет?
источник

S

Slach in ClickHouse не тормозит
Anton Khokhrin
Вы путаете mutation и merge
вроде нет, не путаю
источник

D

Dj in ClickHouse не тормозит
Slach
в бекграунде все идет, я просто представил ситуацию когда я сделал мутацию
и для нее нет данных
но потом сделал INSERT в котором нужные по условию мутации данные появятся
и не понял до конца этот INSERT будет обработан ПОСЛЕ вставки? или нет?
когда вы делаете mutation - у вас должен сразу список мутируемых партов сформироваться (список в parts_to_do_names).

если INSERT после ALTER...UPDATE/DELETE - на эти вставленные данные не распространится. т.е. он мутировать не будет.
источник

S

Slach in ClickHouse не тормозит
Dj
когда вы делаете mutation - у вас должен сразу список мутируемых партов сформироваться (список в parts_to_do_names).

если INSERT после ALTER...UPDATE/DELETE - на эти вставленные данные не распространится. т.е. он мутировать не будет.
ага, понял, спасибо
источник

D

Dj in ClickHouse не тормозит
Slach
ага, понял, спасибо
вы проверьте, эт не точно, я например не очень понимаю как это работает если уже есть работающие мерджи на той же таблице (т.е. появится новый парт, будет ли на нем отработан mutation который был запущен до этого?).
это уже тяжелая артиллерия, ждем солнца из Канады )
источник

IS

Ivan S in ClickHouse не тормозит
Привет!
Есть материализованная вьюха AggregatingMergeTree с некоторым набором столбцов и рассчитанной историей.
Если понадобится добавить еще один столбец _и дорассчитать историю_ по нему, как это сделать?
Не пересчитывать же все данные (все старые столбцы) с нуля?
источник

МО

Михаил Озернов... in ClickHouse не тормозит
Коллеги, всем привет. А можно через клик вызвать рандом функцию на список из слов ? например select rand() from ['a', 'b', 'c']. Надо , чтобы выбрал 1 значение
источник

МО

Михаил Озернов... in ClickHouse не тормозит
или только через индекс наверное получится
источник

D

Dj in ClickHouse не тормозит
Михаил Озернов
Коллеги, всем привет. А можно через клик вызвать рандом функцию на список из слов ? например select rand() from ['a', 'b', 'c']. Надо , чтобы выбрал 1 значение
select ['a', 'b', 'c'][rand()%3+1] ;
источник

KS

Konstantin Sverdlov in ClickHouse не тормозит
Коллеги, привет!

Есть таблица:

Date | Name
2020-06-03 | B
2020-06-03 | C
2020-06-02 | A
2020-06-02 | B
2020-06-02 | C
2020-06-01 | A
2020-06-01 | C

Как получить такой отчет:

Name | Вхождение по датам, начиная с последней
A | [0,1,1]
B | [1,1,0]
C | [1,1,1]

?
источник

МО

Михаил Озернов... in ClickHouse не тормозит
Dj
select ['a', 'b', 'c'][rand()%3+1] ;
спасибо, а сможете объяснить %3 + 1 ?
источник

D

Dj in ClickHouse не тормозит
Михаил Озернов
спасибо, а сможете объяснить %3 + 1 ?
массив индексируется 1-3, rand()%3 вернет 0-2, +1 сделает возвращаемый значения 1-3
источник

МО

Михаил Озернов... in ClickHouse не тормозит
Dj
массив индексируется 1-3, rand()%3 вернет 0-2, +1 сделает возвращаемый значения 1-3
спасибо, а если надо из 4 выбрать рандомно 2?
источник

D

Dj in ClickHouse не тормозит
Михаил Озернов
спасибо, а если надо из 4 выбрать рандомно 2?
select arr[rand()%length(arr)+1] from 
(select ['a', 'b', 'c'] as arr);

думаю логика ясна?
источник