
Michal
20.08.2018
06:10:46
за минуту не успевает. И вместо throw ("брось исключение") включено break ("прерви без сообщения об ошибке")
Ну или может быть max_rows_to_read
Но тогда бы было исключение

Vadim
20.08.2018
06:13:43
Ок, отключил бряк, поднял лимиты.

Google

Vadim
20.08.2018
06:19:00

Kirill
20.08.2018
07:32:05

Michal
20.08.2018
08:20:39

Mike
20.08.2018
08:23:36

Олег Иванович
20.08.2018
09:04:31
... в одном из видео, слышал что для КХ нужно минимум 10Г оперативки
как задать минимальный лимит? в доках не нашел

Vadim
20.08.2018
09:06:15
max_memory_usage

Олег Иванович
20.08.2018
09:07:05
max_memory_usage
можно поточнее пожалуйста, в какой конфиг вписывается, или ссылку ?

Vadim
20.08.2018
09:08:00
users.xml
https://clickhouse.yandex/docs/en/operations/settings/query_complexity/#max_memory_usage_for_all_queries

Олег Иванович
20.08.2018
09:08:35
спасибо

Sergey
20.08.2018
09:45:14

Mike
20.08.2018
09:47:14

Vadim
20.08.2018
09:48:37
На 8GB работает с декабря, все норм.

Vladimir
20.08.2018
09:55:33
Всем привет! Как можно сгруппировать по хешу значения из таблицы, при этом оставив названия полей текущими? Например:
SELECT
client_id,
any(category_id) as category_id,
cityHash64(category_id) as category_id_hash,
count() as cnt
FROM db.table
GROUP BY (client_id, category_id_hash);
пишет что DB::Exception: Unknown identifier: any(category_id)
и хотелось бы на выходе получить именно название category_id: (если изменить его, то все отрабатывает, к примеру: any(category_id) as _category_id)

Google

Александр
20.08.2018
10:00:35

Олег Иванович
20.08.2018
10:02:54
с оперативкой разобрался, там написано, в доках написано что это максимальный вариант
но в видео, почему-то было озвучено, что это минимальный лимит

Евгений
20.08.2018
10:06:49
Привет, не подскажете, как можно посмотреть запрос, использованный для создания таблицы?

Alex
20.08.2018
10:09:09

Евгений
20.08.2018
10:09:21

Nikolay
20.08.2018
10:24:00
Привет,
Чтобы забирать данные из постгреса в КХ, обязательно ли настраивать конфигурации словаря и odbc.ini (как описано в https://clickhouse.yandex/docs/ru/query_language/dicts/external_dicts_dict_sources/#postgresql) или можно обойтись передачей всех параметров в connection string типа select * from odbc('UID=username;PWD=password;HOST=127.0.0.1;PORT=5432;DATABASE=my_db', 'table_name') ?

Alexander
20.08.2018
10:24:52
Можно передавать connection_string в функцию, настраивать не обязательно

Nikolay
20.08.2018
10:25:43
спасибо

Viske
20.08.2018
10:28:40
всем привет
имеется две таблицы размеров 38.25 GiB и 33.06 GiB
вопрос сколько нужноопертивной памяти чтобы выполнить join по ним скажем по ID_user ?
сейчас селект отказывается выполнятся ссылаясь на ограничение озу в 30 гигов

Александр
20.08.2018
10:29:54

Viske
20.08.2018
10:30:15
это размер уже в сжатом виде

Mike
20.08.2018
10:30:33
Если нужен полный джойн (т.e в результате все строки присутствуют), то обе таблицы должны влезть в озу (разумеется, только те колонки, которые нужны).

Александр
20.08.2018
10:30:36
Про колонки забыл совсем

Viske
20.08.2018
10:31:49
нужен не full outer join а просто inner join

Mike
20.08.2018
10:31:52
то есть это сумма несжатых размеров всех колонок, которые нужны + возможно какой-то оверхед.

Viske
20.08.2018
10:32:31
т.е в таблицах больше 30 млдр записей, а если делать join то около 50 млн

Google

Kirill
20.08.2018
11:14:11

Viske
20.08.2018
11:16:16

Kirill
20.08.2018
11:16:53

Viske
20.08.2018
11:18:13
если в правой части будет вложенный селект который из таблицы выбирает только нужные нам по like значения и уже потом будет соединяет их с другой таблицей разница будет или нет? он всё равно должен будет материализовать всю праую таблицу целиком?

Kirill
20.08.2018
11:20:22
SELECT * FROM T JOIN T2 (SELECT * FROM TT LIMIT 5) USING(c) - не будет писать в память TT целиком, только 5 строк

G
20.08.2018
11:24:04
Коллеги, привет
От админа по поводу бекапов CH пришло
бэкап кликхайса в процессе. но вообще как бэкапить шардированный кластер пока что вообще не понятно. инфу я находил тока как один сервер бэкапить
Подскажите как бекапить шардированный кластер?

Kirill
20.08.2018
11:24:50

G
20.08.2018
11:25:10
Шарды будут не согласованы?

Kirill
20.08.2018
11:25:45

G
20.08.2018
11:27:08
Получается да
Спасибо

mikhail
20.08.2018
11:34:19
Привет! Как спросить из файла?
Нашел: https://clickhouse.yandex/docs/ru/query_language/table_functions/file/

Yuriy
20.08.2018
12:00:58
Добрый день. Я хочу странного: хочу использовать SummingMergeTree и при этом чтобы у меня оставались записи, в которых все суммируемые поля по нулям. Чтобы для историии: вот пришла метрика. вот были везде нулии. А не так, что нет метрики - и бог его знает: то ли были нули, то ли не пришла метркиа.
Думаю, можно добавить какое-нибудь еще поле OloloCounter и ставить его в еденичку всегда. Нолики дже не много места будут занимать на диске в пожатом виде, да?
или будут много занимать? Или чо им там вообще щанимать место-то на диске
а может есть просто опция у движка?

Viske
20.08.2018
12:42:29
select count(distinctuser_id) from all_data
таблица весит 35 гигов
обьем озу 60 гигов но для КХ дали 30
селект вываливается с ошибкой Code: 241, e.displayText() = DB::Exception: Memory limit (for query) exceeded: would use 28.03 GiB (attempt to allocate chunk of 2147483648 bytes), maximum: 27.94 GiB, e.what() = DB::Exception
как это обойти?
а если таблица до 300 гигов разрастется?

Evgeny
20.08.2018
12:43:56

Google

Mike
20.08.2018
12:45:39

Evgeny
20.08.2018
12:46:25

Viske
20.08.2018
12:47:26
а как нибудь можно посмотреть размер гб колонки?

Yuri
20.08.2018
12:47:48
ну на файловой системе, например? не?
это просто файлы

Denis
20.08.2018
12:48:21

Vladimir
20.08.2018
12:48:30
Всем привет. Подзапросы в мат.вьюхах разрешены? Ругается при вставке в table, что нет поля time_slot
AS SELECT date, time_slot, _string_field as string_field, string_field_hash, events FROM (SELECT date, timeSlot(event_time) as time_slot, any(string_field) as _string_field, cityHash64(string_field) as string_field_hash, count() as events FROM table group by date,time_slot, string_field_hash)

Yuri
20.08.2018
12:49:20
я вижу, что ты пытаешься групировать по time_slot, а у тебя поле event_time

Mike
20.08.2018
12:49:27
только для скорости фильтрации
ну есть у меня таблица на 100gb, и памяти есть на одном сервере 50 и на втором 50. Могу я посчитать тогда строки в таблице, верно?

Evgeny
20.08.2018
12:51:00

Yuri
20.08.2018
12:51:39

Mike
20.08.2018
12:51:43

Viske
20.08.2018
12:51:47
странности какие то
select count(distinct user_id) from all_data - выдает ошибку
а вот select count(*) from all_data - отрабатывается как так то?

Mike
20.08.2018
12:52:04

Yuri
20.08.2018
12:52:22

Evgeny
20.08.2018
12:52:39
distinct user_id - есть uniq sort, поэтому много памяти кушает

Yuri
20.08.2018
12:52:55
ты хочешь сделать аналог TABLE FULL SCAN и посчитать все уникальные значения в таблицы (огромной)
а КХ в отличии от классических БД это все пытаетс я провернуть в памяти

Vladimir
20.08.2018
12:53:37

Yuri
20.08.2018
12:54:03

Google

Evgeny
20.08.2018
12:56:39
вышли show create table all_data?

Viske
20.08.2018
12:57:13

Yuri
20.08.2018
12:57:14
самое смешное, когда КХ начнет сортировать/группировать на диске, народ будет сюда приходить и писать, что у него кончилось место на диске :)

Denis
20.08.2018
12:58:23

Yuri
20.08.2018
12:58:34
я же не знаю ваших бихнес задач

Viske
20.08.2018
12:59:32
с технической точки так можно? и соотвесвенно по нему count будет шустрее ходить?

Mike
20.08.2018
13:00:23
поле ключевое => данные по нему отсортированы => сортировать не надо

Viske
20.08.2018
13:01:16
да я это понял

Yuri
20.08.2018
13:01:36
только по-моему по сути нонсенс какой-то. подумайте, сколько возможный уникальных сочетаний (user_id,parner_user_id) будет? какой-то фиговый ключ, наверное

Viske
20.08.2018
13:02:23
ну таблица маппинг по сути
хранит юзеров одной базы и другой, т.е. обьеденяет

Yuri
20.08.2018
13:02:55
а, тогда годно
а чо она такая здоровая? :)

Viske
20.08.2018
13:03:10
так их много)

Yuri
20.08.2018
13:03:12
там весь Китай в списках? :)

Viske
20.08.2018
13:03:52
тогда бы она ёщё больше была)
спасибо за помощь