Size: a a a

ClickHouse не тормозит

2021 February 24

OG

Oleg Gavrilov in ClickHouse не тормозит
Ronny
I am having a problem with more than a single join and grouping by a materialized column. Error is missing column c.foo
Can you please show what query you have problem with?
источник

R

Ronny in ClickHouse не тормозит
Select c.materialized_col, count() from connection c join message m on m.cid=c.cid join delivery d on d.cid=c.cid group by c.materialized_col
источник

R

Ronny in ClickHouse не тормозит
actually "...join delivery d on d.mid=m.mid" if it makes difference
источник

OG

Oleg Gavrilov in ClickHouse не тормозит
and which column is missing? in error message?
источник

R

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

R

Ronny in ClickHouse не тормозит
If i skip the join of delivery table, it works fine
источник

OG

Oleg Gavrilov in ClickHouse не тормозит
what is the materialized_col? can you show its definition?
источник

OG

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

R

Ronny in ClickHouse не тормозит
materialized_col lowcardinality(text) materialized cast(...)
источник

R

Ronny in ClickHouse не тормозит
This is a materialized column, not view btw
источник

AK

Andrew Kochen in ClickHouse не тормозит
А какие примерно рекомендации есть на размер партиции по объему на диске? Хотя бы порядок: сотни Мб, Гб, десятки Гб ?
Про месячное партиционирование помню, но, я как раз, наоборот, думаю делать квартальное или годовое...
источник

D

Dj in ClickHouse не тормозит
42ГБ идеал.
а по умолчанию вроде 130ГБ на парт.

Смысл делать одну партицию больше чем 100ГБ наверно мало в общих случаях.
но партиции это больше про логическую организацию.
партиции лучше делать исходя из запросов и управления данными.

можете вообще не делать партиции...
источник

A

Arsen in ClickHouse не тормозит
Дратуте! Есть где-то 100 млн строк. По ним надо посчитать формулу со всеми комбинациями параметров. Комбинаций может быть где-то 150 - 1000. Если делать cross join, то соответственно эти 100 млн умножаются еще на эти 150 - 1000 строк и эта история может перестать пролезать по памяти.

Какие есть варианты? Нужно переходить на операции с массивами? Один из вариков, который приходит на ум помимо массивов - это сгенерить sql, где будут перебираться все эти параметры
источник

A

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

D

Dj in ClickHouse не тормозит
да нормально должно пролезать...
сделайте
select ...
from pair_prots
cross join
(select <columns> ligand cross join nu cross join theta cross join lambda)

чтобы внутренний запрос отработал сначала и потом приджойнился
источник

D

Dj in ClickHouse не тормозит
а ligand что за зверь? нет его в комбинациях ваших...
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Arsen
Дратуте! Есть где-то 100 млн строк. По ним надо посчитать формулу со всеми комбинациями параметров. Комбинаций может быть где-то 150 - 1000. Если делать cross join, то соответственно эти 100 млн умножаются еще на эти 150 - 1000 строк и эта история может перестать пролезать по памяти.

Какие есть варианты? Нужно переходить на операции с массивами? Один из вариков, который приходит на ум помимо массивов - это сгенерить sql, где будут перебираться все эти параметры
какая версия кх?
источник

A

Arsen in ClickHouse не тормозит
Dj
а ligand что за зверь? нет его в комбинациях ваших...
ligand - вторая таблица с координатами точек, тк сначала надо сгенерить пары точек и потом уже считать расстояния и формулу
источник

D

Dj in ClickHouse не тормозит
и сколько там строк?
источник

D

Dj in ClickHouse не тормозит
вы как то благополучно решили умолчать об этой детали в вашем тексте...
источник