Size: a a a

ClickHouse не тормозит

2021 February 08

N

Nikolay in ClickHouse не тормозит
Спасибо, а с какой это версии ?
источник

DM

Danila Migalin in ClickHouse не тормозит
вот уж чего не знаю, того не знаю:)
источник

DM

Danila Migalin in ClickHouse не тормозит
у меня в 20.3.7 есть, по-крайней мере
источник

GA

Gulshan Agivetova in ClickHouse не тормозит
Egor Korovin
тоже неприятно удивился, что groupArray пропускает Null
я буду пробовать городить костыли типа заменять null на nan

в целом, мне не нравится это поведение 🙂
да, очень неудобно..а чем заменяете числовые значения?
источник

GA

Gulshan Agivetova in ClickHouse не тормозит
Slach
feel free to Make Pull Request
можете уточнить пожалуйста, что за pull request?
источник

S

Slach in ClickHouse не тормозит
Gulshan Agivetova
можете уточнить пожалуйста, что за pull request?
источник

EK

Egor Korovin in ClickHouse не тормозит
Gulshan Agivetova
да, очень неудобно..а чем заменяете числовые значения?
какая то такая идея была. я еще не пробовал
если COLUMN - Nullable(Float) то можно заменить Null на nan, а уже потом схлапывать в массив

если у вас не float - можно заменить на другое специальное значение, которое в ваших данных никогда не встречается

groupArray(ifNull( COLUMN, nan))
источник

EK

Egor Korovin in ClickHouse не тормозит
Slach
feel free to Make Pull Request
ну на гитхабе issue когда то заводили. Алексей закрыл 🙂
судя по всему, в яндексе это всех устраивает

надо как-то кворум набрать…


https://github.com/ClickHouse/ClickHouse/issues/1980
источник

S

Slach in ClickHouse не тормозит
Egor Korovin
ну на гитхабе issue когда то заводили. Алексей закрыл 🙂
судя по всему, в яндексе это всех устраивает

надо как-то кворум набрать…


https://github.com/ClickHouse/ClickHouse/issues/1980
дак а чего не спросили "а чего закрыли"?
получили бы комментарии
источник

EK

Egor Korovin in ClickHouse не тормозит
Slach
дак а чего не спросили "а чего закрыли"?
получили бы комментарии
тоже верно. написал.
источник

ДК

Дмитрий Копылов... in ClickHouse не тормозит
Приветствую! В чате поискал, но ответы про победить memory limit не помогают (или что-то делаю не так). Имеется Клик в облаке и 10Гб ограничение по оперативе. Для external_group_by и external_order_by стоит по 5Гб, join_algorithm = auto, max_block_size = 1024,
Имеется попытка создать таблу mergetree table_result as select * from table1 join table2 using id
Упирается в лимит. Пробую создать с одной записью (limit 1) = OK, потом insert into table_result [(c1, ...)] select * from table1 join table2 using id = memory limit
Пытаюсь ввести group by внутри селекта чтобы уйти на диск, всё равно лимит.
Может есть вариант создавать или вставлять чанками-батчами-кусками освобождая память?
Драйвер JDBC
источник

S

Slach in ClickHouse не тормозит
дело не в драйвере а в JOIN

у вас сам по себе SELECT
без INSERT скорее всего в memory limit упирается
JOIN в памяти происходит

у вас меньшая таблица table2 в память помещаются те столбцы по которым JOIN идет и те столбцы которые в итоге в result вставляются?
источник

ДК

Дмитрий Копылов... in ClickHouse не тормозит
Slach
дело не в драйвере а в JOIN

у вас сам по себе SELECT
без INSERT скорее всего в memory limit упирается
JOIN в памяти происходит

у вас меньшая таблица table2 в память помещаются те столбцы по которым JOIN идет и те столбцы которые в итоге в result вставляются?
отдельно джоин отрабатывает, сам по себе. В том и затык
источник

S

Slach in ClickHouse не тормозит
Дмитрий Копылов
Приветствую! В чате поискал, но ответы про победить memory limit не помогают (или что-то делаю не так). Имеется Клик в облаке и 10Гб ограничение по оперативе. Для external_group_by и external_order_by стоит по 5Гб, join_algorithm = auto, max_block_size = 1024,
Имеется попытка создать таблу mergetree table_result as select * from table1 join table2 using id
Упирается в лимит. Пробую создать с одной записью (limit 1) = OK, потом insert into table_result [(c1, ...)] select * from table1 join table2 using id = memory limit
Пытаюсь ввести group by внутри селекта чтобы уйти на диск, всё равно лимит.
Может есть вариант создавать или вставлять чанками-батчами-кусками освобождая память?
Драйвер JDBC
INSERT INTO... (SELECT ... FROM table 1 WHERE ) .. JOIN (SELECT table2.. WHERE GROUD BY)

?
источник

3

3ldar in ClickHouse не тормозит
Дмитрий Копылов
Приветствую! В чате поискал, но ответы про победить memory limit не помогают (или что-то делаю не так). Имеется Клик в облаке и 10Гб ограничение по оперативе. Для external_group_by и external_order_by стоит по 5Гб, join_algorithm = auto, max_block_size = 1024,
Имеется попытка создать таблу mergetree table_result as select * from table1 join table2 using id
Упирается в лимит. Пробую создать с одной записью (limit 1) = OK, потом insert into table_result [(c1, ...)] select * from table1 join table2 using id = memory limit
Пытаюсь ввести group by внутри селекта чтобы уйти на диск, всё равно лимит.
Может есть вариант создавать или вставлять чанками-батчами-кусками освобождая память?
Драйвер JDBC
Ну чанками вставлять можно. Например, используя связку SAMPLE и OFFSET
источник

S

Slach in ClickHouse не тормозит
Дмитрий Копылов
отдельно джоин отрабатывает, сам по себе. В том и затык
сколько колонок вставляете в _result?
источник

ДК

Дмитрий Копылов... in ClickHouse не тормозит
Slach
сколько колонок вставляете в _result?
сотню... если оставить 50 - в лимит не упирается, да. Но тогда другая проблема нарисовывается
источник

S

Slach in ClickHouse не тормозит
Дмитрий Копылов
сотню... если оставить 50 - в лимит не упирается, да. Но тогда другая проблема нарисовывается
100 колонок, это 2 мегабайта на колонку, 200 мегабайт только на буфера минимум
источник

S

Slach in ClickHouse не тормозит
Дмитрий Копылов
сотню... если оставить 50 - в лимит не упирается, да. Но тогда другая проблема нарисовывается
вставляйте чанками чанк выбирайте в память через sub query
https://t.me/clickhouse_ru/203008
источник

ДК

Дмитрий Копылов... in ClickHouse не тормозит
продумываю этот вариант как раз. Так а разве чанк не из результата джойна надо брать? или именно такие же ключи выбирать из обоих сначала?
источник