Size: a a a

ClickHouse не тормозит

2021 March 19

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Aleksey Kluchnikov
Всем привет. Вопрос архитектурный, как лучше хранить события типа {'маша':80,'саша':20}, с учетом что количество имен и сами имена могут быть разные. А потом надо выбрать из этих событий сумму например по 'маша'?
@Mallast

не надо так делать , лучше не передавать массивы в лямбды никогда, нереальный расход памяти, в варианте с arrayEnumerate

во первых есть sumMap, во вторых arrayFilter позволяет фильтровать один массив другим

SELECT sumMap(names, val)
FROM
(
   SELECT
       ['маша', 'паша', 'маша'] AS names,
       [10, 15, 25] AS val
)

┌─sumMap(names, val)────────┐
│ (['маша','паша'],[35,15]) │
└───────────────────────────┘
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Aleksey Kluchnikov
А оказалось что array  не может быть Nullable и к полям типа array не применимы агрегатные функции типа anyLast или argMax так чтобы убирать из выборки пустые массивы
ну может вообще-то, просто надо tuple( ) добавлять
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Andrew Kochen
Привет

Подскажите, пожалуйста, как-то можно запустить OPTIMIZE DEDUPLICATE синхронно? Чтоб клиент висел и ждал
так и работает
источник

AK

Aleksey Kluchnikov in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
ну может вообще-то, просто надо tuple( ) добавлять
К чему добавлять?
 create table foo (bar Nullable(Array(String)) ) ..
источник

AK

Aleksey Kluchnikov in ClickHouse не тормозит
к Array(String)?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Bekzhan Satbek
Добрый день, пытаюсь подключиться к кликхаусу с помощью sqlalchemy, используя логин и пароль пользователя CH (не default), но к сожалению мне выводит следующую ошибку
Exception: Code: 516, e.displayText() = DB::Exception: default: Authentication failed: password is incorrect or there is no user with such name (version 20.9.2.20 (official build))
эта ошибка не обязательно про пароль и или пользователя, про сетевые ограничения тоже такая ошибка, надо проверять что курлом можно с того же хоста
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Aleksey Kluchnikov
К чему добавлять?
 create table foo (bar Nullable(Array(String)) ) ..
select groupArray( tuple(b) ).1 from  (select arrayJoin(['A', Null]) b) ;
┌─tupleElement(groupArray(tuple(b)), 1)─┐
│ ['A',NULL]                            │
└───────────────────────────────────────┘
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
все агрегатные функции пропускают Null.
tuple(Null) -- это не нулл
источник

AK

Aleksey Kluchnikov in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
select groupArray( tuple(b) ).1 from  (select arrayJoin(['A', Null]) b) ;
┌─tupleElement(groupArray(tuple(b)), 1)─┐
│ ['A',NULL]                            │
└───────────────────────────────────────┘
Я имел в виду что у меня иногда есть массив а иногда нет, и хотел когда нет сделать Null. Сейчас сделал пустой массив вместо null и зафильтровал
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
на первом митинге с любым клиентом, мы в Альтинити пол часа рассказываем  что Null не нужно использовать никогда, и как сделать чтобы было без Null
источник

AK

Aleksey Kluchnikov in ClickHouse не тормозит
это уже понятно, в следующий раз будет без нул
источник

A

Artem in ClickHouse не тормозит
Всем привет. Делаю запрос с фильтром  
argMax("title", "version") ILIKE '%Weiß,%'
. Он ругается, что у нижнего и верхнего регистра разные длины и ILIKE не может это обработать, кто нибудь сталкивался, как обойти (вариант с LIKE не подходит)?
weiß - белый
WEISS - БЕЛЫЙ

DB::Exception: UTF8 sequences with different lowercase and uppercase lengths are not supported (version 20.9.3.45 (official build))
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Aleksey Kluchnikov
это уже понятно, в следующий раз будет без нул
проблема с NUllable что все в раза медленее и больше места на диске
источник

AK

Aleksey Kluchnikov in ClickHouse не тормозит
просто не хочется джойнить, так наелся с этими джойнами, хочется плоско и тупо :)
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Artem
Всем привет. Делаю запрос с фильтром  
argMax("title", "version") ILIKE '%Weiß,%'
. Он ругается, что у нижнего и верхнего регистра разные длины и ILIKE не может это обработать, кто нибудь сталкивался, как обойти (вариант с LIKE не подходит)?
weiß - белый
WEISS - БЕЛЫЙ

DB::Exception: UTF8 sequences with different lowercase and uppercase lengths are not supported (version 20.9.3.45 (official build))
ну никак
источник

A

Artem in ClickHouse не тормозит
печаль, вдруг в более свежих версиях добавили...
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Artem
печаль, вдруг в более свежих версиях добавили...
конвертировать снаружи и искать оба
источник

A

Artem in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
конвертировать снаружи и искать оба
спасибо, будем думать дальше
источник

СС

Саша Суббота... in ClickHouse не тормозит
Добрый день, один и тот же запрос на версии
20.8.11.17 кушает 14.71 GiB оперативы
21.3.2.5 стал кушать 17.26 GiB оперативы
все опции кроме max_memory_usage и max_bytes_before_external_group_by установлены по умолчанию, что могло повлиять на увеличение потребления озу?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Саша Суббота
Добрый день, один и тот же запрос на версии
20.8.11.17 кушает 14.71 GiB оперативы
21.3.2.5 стал кушать 17.26 GiB оперативы
все опции кроме max_memory_usage и max_bytes_before_external_group_by установлены по умолчанию, что могло повлиять на увеличение потребления озу?
кушает где? в top столбик RES или кто?
источник