
Vsevolod
18.09.2018
10:23:07
Нет
это печально, синтаксис, когда хост отдельно, а порт отдельно полностью инопланетянский и неудобный
@proller а ты не задокументировал свои добавления к distributed, чтобы пользоваться им через ssl?

prll
18.09.2018
10:25:12

Vsevolod
18.09.2018
10:29:22

Google

Vsevolod
18.09.2018
10:29:55
ну и мелкое пожелание - в документации, когда добавляются новые вещи, лучше писать, с какой версии та или иная вещь добавилась
это очень облегчает жизнь

prll
18.09.2018
10:31:27

Daniel
18.09.2018
11:26:24
Привет! Где-нибудь можно почитать сравнение реализации SQL в CH со стандартом ANSI SQL 2008 (или другого года)?

Nik
18.09.2018
11:34:12

Daniel
18.09.2018
11:45:26
Понятно. Вот в особенностях в доках написано "отсутствие полноценных транзакций". А что, какие-то подобия есть?

Kirill
18.09.2018
11:54:03

Yaroslav
18.09.2018
11:58:26
Можно ли как-то организовать вставку в Distributed таблицу не перечисляя все поля таблицы (для некоторых есть DEFAULT)?
Перестало работать после определения insert_distributed_sync=1
Сейчас выдает Code: 171. DB::Exception: Received from localhost:9001, 127.0.0.1. DB::Exception: Block structure mismatch in RemoteBlockOutputStream stream: different number of columns:

Daniel
18.09.2018
11:59:51
Будет, размер блока может быть любым
Спасибо, но всё равно непонятно, к чему там в реплае оговорка про 1 млн строк... Типа SELECT по умолчанию может отставать на 1млн записей, ещё не подтверждённой записи недавних данных?

Илья
18.09.2018
12:16:07
подскажите, мутации поддерживаются для SummingMergeTree? если да, то с какой версии?

Alex
18.09.2018
12:20:10
Да, поддерживаются (никакой специальной логики для Summing нет). DELETE с версии 18.1.0, UPDATE с 18.12.14.

denis
18.09.2018
12:24:30
Коллеги, всем привет!
Недавно начали только использовать ClickHouse ищем специалиста который может поконсультировать на платной основе нашу разработку на предмет правильности использования и тонкостей настройки

Google

Denis
18.09.2018
12:31:02

Alexander
18.09.2018
12:38:27

Daniel
18.09.2018
13:21:42
А CH поддерживает вертикальное партицирование по полям? DBA зачем-то спрашивают

Denis
18.09.2018
13:29:24
каждая колонка это отдельный файл

Alexey
18.09.2018
13:31:24


Daniel
18.09.2018
13:49:50
Во VIEW можно же можно столбцы любых типов данных использовать? Не нашёл в доках

Alexey
18.09.2018
13:51:13

Ислам
18.09.2018
16:15:24
Добрый день. Подскажите, как быть. Впритык не вижу в чем проблема. Есть основная таблица stat (MergeTree). Также есть view_general (VIEW над stat). Далее выполняю последовательно запросы над view_general:
1) Вытягиваю данные за последнюю неделю - данные отдаются в полной мере.
2) Затем тащу данные за последние сутки - данные отдаются в полной мере.
3) Пробую вновь вытащить данные за неделю - отдаются данные лишь за последние сутки.
Проблема наблюдается и в запросах через веб и в cli.

Alexey
18.09.2018
16:20:49
а на 4й раз как?
view обычная, не материальная?

Ислам
18.09.2018
16:22:36

Denis
18.09.2018
16:25:02
а версия КХ последняя?
тогда enable_optimize_predicate_expression = 0 и пересоздать view

Ислам
18.09.2018
16:26:20

prll
18.09.2018
18:54:48

Timur
18.09.2018
19:11:40
господа,
во-первых большое спасибо за clickhouse, больше года используем у себя и просто счастливы что появилась такая штука
очень не хватает работы с нормальной геобазой. я понимаю что яндексовая закрыта и снаружи компании ее использовать нельзя
вопрос такой: а в яндекс.облаке, где clickhouse подключен как одна из баз данных - нет возможности включить этот словарь?

Alexey
18.09.2018
19:23:10

Google

Timur
18.09.2018
19:25:17
Понял, спасибо

Tima
18.09.2018
19:46:56
После пары последних обновлений заметил странный баг с вьюхами: запрос ко вьюхе (обычная, не матвью) отдает меньше данных, чем в исходной таблицы.
Схема такая:
1. исходная таблица (в mysql)
2. таблица с движком mysql (в КХ)
3. вьюха на таблицу (в КХ)
Запрос count для первых друх таблиц возвращает правильное значение, а к третьей - где-то процентов 10. Но стоит пересоздать вьюху - запрос с count ко вьюхе начинает отдавать правильное значение. И такое уже второй раз за день

Alexey
18.09.2018
19:52:59
а версия КХ последняя?
тогда enable_optimize_predicate_expression = 0 и пересоздать view

Tima
18.09.2018
20:00:02

Andrey
18.09.2018
20:20:12

Tima
18.09.2018
20:21:45
Точно. Эта вьюха нужна чтобы запросы к таблице с mysql-движком не падали

Denis
18.09.2018
20:38:08
да, странный баг, когда на марсе температура через 0 переходит, вьюхи начинают возвращать 10% строк.
и вроде исправлен https://github.com/yandex/ClickHouse/commit/13779bc75d85a3f52299c4df34a741208ebf4cf7

Andrey
18.09.2018
21:28:27
Ребят, а есть возможность делать инклуд какого-то своего файла в конфиг?
Т.е. если я некоторую часть config.xml хочу вынести в отдельный файл, как сказать CH чтобы он ее тоже почитал?

Denis
18.09.2018
21:34:19
ну мы вообще стандартные конфиги не изменяем, все свое складываем в clickhouse/conf.d
https://clickhouse.yandex/docs/en/operations/configuration_files/

Andrey
18.09.2018
21:36:00

Timur
19.09.2018
01:12:36
Доброго утра! Нет ли штатной функции отображения seconds(UintX) в формате HH:MM:SS? Я знаю что типа time нет в CH

Denis
19.09.2018
01:33:37
меньше суток наверное можно выкрутиться
SELECT substring(toString(toDateTime(36000)), 12, 8 )
10:00:00
SELECT substring(toString(toDateTime(3600)), 12, 8 )
01:00:00
select 360001 s, intDiv(s, 3600) h, intDiv(s-3600*h, 60) m, s-3600*h-m*60 ss
┌──────s─┬───h─┬─m─┬─ss─┐
│ 360001 │ 100 │ 0 │ 1 │
└────────┴─────┴───┴────┘

Timur
19.09.2018
04:46:10

LeiDruid
19.09.2018
05:46:52

Andrey
19.09.2018
05:50:06

Yuri
19.09.2018
05:50:15
можно самим наколхозить, но лучше бы родную.

Kirill
19.09.2018
05:51:28
Это лучше до КХ определять, так как в зависимости от версии самой базы будут и разные значения на один и тотже IP

Yuri
19.09.2018
05:51:32
есть еще всякие spatial опции в традиционных базах, запрос по координатам, пересечение областей на карте

Google

Yuri
19.09.2018
05:51:42
несколько вендоров баз geoIP. за деньги и нет

Kirill
19.09.2018
05:53:41
Даже от одного и того же вендора (например digital element) от версии к версии будут меняться значения

Timur
19.09.2018
06:06:36

Kirill
19.09.2018
06:09:12

LeiDruid
19.09.2018
06:12:02

Kirill
19.09.2018
06:15:56
Более того, на ней можно сделать что угодно, даже классификатор матрешек или что там в голову взбредет )

Timur
19.09.2018
06:16:54
Там простой формат, легко сделать, она там вообще к IP не привязана
я понимаю что иерархия не связана с IP
можно конечно этим заниматься, это муторно и долго. и все время будет расхождение с тем трафиком который люди покупают (к примеру в яндекс.директе, с геотаргетингом) и тем что мы показываем
хотелось хоть с одним крупным вендором (яндекс/google/вк) совпадать (хотя-бы по набору регионов)
просто подумалось что может быть в Яндекс.Облаке есть подключенный словарь который не дают наружу
потом уже после ответа Алексея стало понятно что да, если бы был - можно бы было получить и саму базу


Светлана
19.09.2018
07:20:28
Привет всем! Мы тут на клике решили считать воронку, но вопрос не про неё. Упрощённо у нас есть таблица, содержащая колонки (uid, date, event), мы группируем по uid и с помощью groupArray получаем две колонки (uid, [event1,event2,event3]), далее делаем расчёты. Чтобы не группировать при каждом запросе, решили сгруппировать единожды и положить в отдельную таблицу. Но когда делаем запросы к заранее сгруппированной таблице, то вылетает по лимиту памяти, тогда как тот же самый запрос с группировкой в памяти отрабатывает на отлично. Вроде бы делаем то же самое, даже выбросили лишний шаг.. С чем может быть связано такое поведение?


Ivan
19.09.2018
07:27:27
Привет всем! Мы тут на клике решили считать воронку, но вопрос не про неё. Упрощённо у нас есть таблица, содержащая колонки (uid, date, event), мы группируем по uid и с помощью groupArray получаем две колонки (uid, [event1,event2,event3]), далее делаем расчёты. Чтобы не группировать при каждом запросе, решили сгруппировать единожды и положить в отдельную таблицу. Но когда делаем запросы к заранее сгруппированной таблице, то вылетает по лимиту памяти, тогда как тот же самый запрос с группировкой в памяти отрабатывает на отлично. Вроде бы делаем то же самое, даже выбросили лишний шаг.. С чем может быть связано такое поведение?
а потом что именно вы с этими массивами делаете?
Привет всем! Мы тут на клике решили считать воронку, но вопрос не про неё. Упрощённо у нас есть таблица, содержащая колонки (uid, date, event), мы группируем по uid и с помощью groupArray получаем две колонки (uid, [event1,event2,event3]), далее делаем расчёты. Чтобы не группировать при каждом запросе, решили сгруппировать единожды и положить в отдельную таблицу. Но когда делаем запросы к заранее сгруппированной таблице, то вылетает по лимиту памяти, тогда как тот же самый запрос с группировкой в памяти отрабатывает на отлично. Вроде бы делаем то же самое, даже выбросили лишний шаг.. С чем может быть связано такое поведение?
на всякий случай про то как считать воронки в ClickHouse: https://www.youtube.com/watch?v=YpurT78U2qA


Светлана
19.09.2018
07:31:07
а потом что именно вы с этими массивами делаете?
Дальше делается полнейшая жесть с arrayFilter, чтобы найти индексы ивентов входа в воронку (их может быть несколько), arrayJoin, чтобы размножить последовательность шагов на отдельные записи на каждый вход в воронку, и в итоге arraySlice, чтобы оставить в каждой записи только одно прохождение. Но эта жесть с группировкой в памяти отрабатывает и скорее вопрос, в чём принципиальная разница, группировать в памяти или брать из заранее сгруппированной таблицы..

Yuri
19.09.2018
07:31:45

Светлана
19.09.2018
07:39:34


Michal
19.09.2018
07:47:36
Привет всем! Мы тут на клике решили считать воронку, но вопрос не про неё. Упрощённо у нас есть таблица, содержащая колонки (uid, date, event), мы группируем по uid и с помощью groupArray получаем две колонки (uid, [event1,event2,event3]), далее делаем расчёты. Чтобы не группировать при каждом запросе, решили сгруппировать единожды и положить в отдельную таблицу. Но когда делаем запросы к заранее сгруппированной таблице, то вылетает по лимиту памяти, тогда как тот же самый запрос с группировкой в памяти отрабатывает на отлично. Вроде бы делаем то же самое, даже выбросили лишний шаг.. С чем может быть связано такое поведение?
А какой движок таблицы и настройки? И как выбираете из таблицы (по сравнению с прямым селектом)? (Например не используете ли повторно GROUP BY?)
т.е. я так понимаю что делаете что-то типа
CREATE TABLE ... Engine=... AS SELECT uid, groupArray(event) FROM (SELECT uid, event FROM table ORDER BY date) GROUP BY uid ?
А потом простой селект (без дополнительных группировок) из получившейся таблицы?
Вроде бы не должно "отваливаться"...

Google

Светлана
19.09.2018
07:57:38


Michal
19.09.2018
08:01:07
Ну если он может "размножить" строки читая данные из памяти, то по идее должен справиться с тем же самым читая те же данные из таблицы.
А если вы в том селекте где используете данные записанные в таблицу замените прямое использование таблицы на подзапрос типа FROM (SELECT * FROM table) ?

Светлана
19.09.2018
08:10:18

Vladimir
19.09.2018
08:17:13

MAdmS
19.09.2018
08:22:50
Привет всем! Возник вопрос про механизм обновление кластера. Есть кластер из 25 машин. Кластер находится под нагрузкой. Могу ли я обновлять ноды одна за другой без простоя кластера? Тоесть будет ли работать кластер с нодами разной версии, не возникнит ли конфликт. Или необходимо выполнять остановку всех нод, обновлять, а потом продолжать работу. Если есть мануал по данному вопросу скинте ссылочку, а то я както не нашел

Светлана
19.09.2018
08:37:09
объём используемой памяти видно в логах сервера
Интересненько, MemoryTracker из логов: группировка в памяти 2.15 GiB, чтение из заранее сгруппированной таблицы остановилось на 8.05 GiB (упёрлось в лимит). Значит, это реально не какое-то вычисленное значение..

Konstantin
19.09.2018
08:58:09
Code: 159, e.displayText() = DB::Exception: Timeout exceeded: elapsed 5.079963156 seconds, maximum: 5, e.what() = DB::Exception
как то обойти можно? а то не пересортировать

Denis
19.09.2018
09:00:16
есть настройка http_connection_timeout

Konstantin
19.09.2018
09:01:06