@clickhouse_ru

Страница 422 из 723
M
14.02.2018
14:39:54
Вродь таблицы переходят в RO если есть конфиг зукиепра, но к нему нет доступа. но я не уверен что при этом не происходит слияния

Alex
14.02.2018
14:40:10
Мержи можно отключить, выставив настройку background_pool_size=0. Но это отключит ещё и репликацию :)

strange
14.02.2018
14:41:18
Mike
14.02.2018
14:42:18
Google
Vladimir
14.02.2018
14:44:39
на запрос?
На Машин доклад

M
14.02.2018
14:45:26
Мержи можно отключить, выставив настройку background_pool_size=0. Но это отключит ещё и репликацию :)
Спасибо. Репликация не нужна. Хочу получить доступ к бекапам на отдельном инстансе. И вот переживаю что при аттаче старых партиций - он начнет их склеивать. Возник еще вопрос, клик нормально дружит с файликами из NFS? Например как будет себя вести, если отвалится сеть... или чтение будте оч. медленным, или произойдет таймаут на чтение? Если ли внутренние ретраи на чтение?

Mike
14.02.2018
14:45:36
чтобы не плодить сообщения, поищите в чатике по слову воронка

там и видео и пдф

M
14.02.2018
14:53:42
@ztlpn Еще возник вопрос :) Скажите, если опять же возьмем NFS. Данных оч много. но! из них нужно получить только часть и еще с фильтром по полям из первичного ключа. Будет ли ускорение в выборках, если скопировать локально primary.idx и все *.mrk файлы таблицы? А *.bin засимлинкать на файлики из NFS Это уменьшит кол-во read опериций из сети? И если да, то теоретически на сколько?

Alex
14.02.2018
14:56:29
primary.idx сразу поднимаются в память, а .mrk файлы кэшируются. Поэтому вряд ли будет большой профит. А почему вы хотите хранить данные на NFS?

M
14.02.2018
15:00:36
там оч.. оч.. медленный доступ к данным. И еще столкнулись с проблемой, если читать фулскан за один месяц без группировок и сортировок.. просто SELECT f1,f2 FROM WHERE a=b то со времением клик съедает память и падает

По этой же причине, и думаю, что может с копированием засечек - часть операций ускорится. Спасибо за ответ

?
14.02.2018
15:43:10
а для КХ swap в убунте можно на лету отключить командой "sudo swapoff -a" ? перезагрузка не нужна ?

Sergey
14.02.2018
15:50:21
https://chrisdown.name/2018/01/02/in-defence-of-swap.html

?
14.02.2018
15:51:56
ну в доке https://clickhouse.yandex/docs/en/operations/tips.html#swap-file

Google
Sergey
14.02.2018
15:59:06
Кто-то тестил? Без свопа реально шустрее?

Артемий
14.02.2018
16:07:37
Кто-то тестил? Без свопа реально шустрее?
У нас нет свопа. В нем нет никакого смысла. Если памяти больше, чем доступно, сервер просто падает. Необходимо выбрать разумные ограничения по памяти и установить неоходимую память. Система написана максимально простым образом. Кликхаус обязан быстро считывать данные из файлов и оперериовать ими в оперативке, если он в момент агрегирования будет использовать своп, то сойдут на нет его достоинства скорости по обработке данных.

Andrey
14.02.2018
16:08:43
Кто-то тестил? Без свопа реально шустрее?
Это ж вроде очевидно, разве нет?

strange
14.02.2018
16:09:36
своп - он как счастье - переоценен. нафига он нужен в проде почти на рилтайме, если при уходе в своп все равно все клиенты по таймауту отвалятся

быстрее сервер переподнять

Sergey
14.02.2018
16:10:38
Это ж вроде очевидно, разве нет?
Нет. Но я вас понял. Тольког если памяти не хватает - это не проблема свопа. Своп не про это. Но навязывать мнение не буду.

Mike
14.02.2018
16:19:53
Господа, есть вопрос. Делаем запрос в котором groupArray и много arrayFilter, данных несколько сот миллионов строчек, запрос работает около минуты. И вот что сранно, судя по htop какая-то часть хорошо распараллеливается потому что все ядра нагружены, но буквально на 1-5 сек, а потом видно что работает только один поток на одном ядре.
причем интересно, запускаем запрос в консольке и через пару сек. видим такую картину Progress: 259.37 million rows, 16.34 GB (53.83 million rows/s., 3.39 GB/s.) 99% это все висит пару минут и в итоге 1 rows in set. Elapsed: 96.390 sec. Processed 259.37 million rows, 16.34 GB (2.69 million rows/s., 169.52 MB/s.)

Alex
14.02.2018
16:25:30
Прогрессбар учитывает только, сколько данных осталось прочитать. Если все данные уже прочитаны, но надо например что-то доагрегировать, он зависнет на 99 процентах.

Andrey
14.02.2018
16:32:03
похоже что так, тогда осталось понять почему он напрягается в один поток
мержит результаты запроса, доаггрегирует результаты

Oleg Bazdyrev
14.02.2018
16:33:56
Привет А нормально, что сервер падает при попытке чтения из merge-таблицы, которая ссылается сама на себя?

Mike
14.02.2018
16:37:47
А есть что почитать, что и как КХ может параллелить в запросах?

Alex
14.02.2018
16:48:25
Вот такая презентация есть: https://clickhouse.yandex/presentations/group_by/

И кстати кликхаус-специфики там почти нет

Но к сожалению, выступление было на внутреннем семинаре, поэтому запись недоступна.

Mike
14.02.2018
17:02:17
в общем понятно, в моем случае тормозит ORDER BY

что и следовало ожидать

Google
Oleg Bazdyrev
14.02.2018
17:15:38
нормально, но как вы смогли её создать?
создать то несложно) или на создании должна была быть ошибка?

Yuran
14.02.2018
17:16:32
создать то несложно) или на создании должна была быть ошибка?
Не должен давать создать. Ну и плюс, по крайней мере исходя из доки, в Merge-таблице игнорируется сама таблица, даже если попадает под регулярку. Нужно 2 таблицы для этого :)

Oleg Bazdyrev
14.02.2018
17:17:38
создается автоматически, может было предупреждение какое - я не проверял, но создалась нормально

а при запросе из такой таблицы сервер тихо умирает

Kirill
14.02.2018
18:10:14
а при запросе из такой таблицы сервер тихо умирает
А версия какая? Вообще там проверка есть https://github.com/yandex/ClickHouse/blob/master/dbms/src/Storages/StorageMerge.cpp#L328 при чтении чтоб из самой себя не читать, но может и поломалось что-то

Yuran
14.02.2018
22:15:24
А тем временем я немного отполировал работу своего простенького интерфейса для ClickHouse и теперь он даже работает :). Рабочее название — LightHouse. Адрес всё тот же (временный): http://yuriynasretdinov.github.io Новые фишки по сравнению со вчера: - отдельные вкладки со структурой таблицы и с её содержимым - результаты запроса и содержимое таблицы теперь отдельно друг от друга - улучшено сохранение фильтров при отправке запроса на сервер - теперь поддерживается сортировка на сервере - исправлена сортировка на клиенте для чисел Демо: https://www.youtube.com/watch?v=DrSD7K75L0Y

Ivan
14.02.2018
23:02:51
А мы суперсет используем

Yuran
14.02.2018
23:08:16
superset выглядит ещё монструознее, чем tabix :). Но всё равно интересно, спасибо

Ivan
14.02.2018
23:13:07
Да, но удобен

И универсален

strange
14.02.2018
23:13:33
Выберите любой один

Ivan
14.02.2018
23:13:36
Не технари делают довольно просто дашборды себе

И отчеты

Vladimir
14.02.2018
23:40:33
А мы суперсет используем
нам redash понравился больше

?
15.02.2018
00:03:04
Когда на страницу инсталляции суперсета посмотришь — сразу получаешь кайфы от того как го-бинарники деплоятся

Ivan
15.02.2018
03:22:42
Так а чего его инсталлировать, поднял докер контейнер и в путь

Тяжелый он только

А так в пол пинка заводится

Артемий
15.02.2018
07:27:12
Stanislav
15.02.2018
07:35:23
Такой вопрос: планируется автодополнение в clickhouse-client?

Google
Артемий
15.02.2018
08:12:46
Кто может подсказать, как лучше реализовать следующий запрос: - выбрать пользоваталей, которые сделали сегодня больше кликов, чем вчера |UserId|Clicks|Date| Можно считать, что (UserId, Date) - уникальный ключ

Алексей
15.02.2018
09:23:17
select groupArray(user_id) as user_ids from users GROUP BY 0 limit 10 - возвращает [1,2,45,2,5] Могу ли я, к примеру через arrayMap создать json? Коллекция с двумя ключами. Например мне нужен ответ [{"name":"vasay","id":"1"},{"name:"petay","id":"45"}]

Или например groupArray(col1,col2) вернет [{"col1":"value1","col2":"value2"}]

Алексей
15.02.2018
09:38:24
Ну парсарить это не проблема. Но не хочу это вешать на бек. Если можно сделать на бд

Я через groupArray формировал json, а в nodejs - уже его распасивал
К примеру словарь из 1М записей, мне надо по всему пройтись чтобы проставить нужные значения?

Tima
15.02.2018
09:41:04
Уточните что вы хотите: получить на клиенте json или что? Если вам нужен ответ от КХ в виде json - можно указать SELECT ... FORMAT JSONEachRow

Алексей
15.02.2018
09:42:30
У меня задача получить уникальные значения по всем колонкам с алиасами и идишкамми. Не хочу делать запрос на каждую колонку отдельно

{ "users":[{"user_id":1,"user_name":"вася"},....], "contry":[{"contry_id":"RU","name":"Россия"},...], ... }

Уточните что вы хотите: получить на клиенте json или что? Если вам нужен ответ от КХ в виде json - можно указать SELECT ... FORMAT JSONEachRow
Сейчас ответ такой [ { "country_ids": [ "BB", "CX", "NG", "PM", "PY" ], "platform_ids": [ 11, 3 ], "campaign_ids": "4" } ]Но надо еще добавить алиасы или произвольные данные

Алексей
15.02.2018
09:57:20
А что тут за поля users, contry?
Это алиасы, в которые вложенны коллекции

Andrey
15.02.2018
10:00:31
filesystem::recursive_directory_iterator directory error: No such file or directory Кто-то встречался с таким?

Tima
15.02.2018
10:01:38
Это алиасы, в которые вложенны коллекции
Всё равно пока не очень понятно, будет проще если приведёте численый пример: исходные данные и то что нужно получить

Andrey
15.02.2018
10:01:51
Сервер падает после рестарта. Обновился с 1.1.54327 на 1.1.54343 и один из серваков падает с такой ошибкой `2018.02.15 12:59:24.356553 [ 1 ] <Error> Application: filesystem::recursive_directory_iterator directory error: No such file or directory `

Andrey
15.02.2018
10:03:50
Конфиг случайно не затирали при обновлении?
Нет, я вижу что он начинал уже вычитывать таблицы

заработало. возможно это был конфиг)))\

Google
Tima
15.02.2018
10:05:08
У меня много (больше 3к) маленьких таблиц, старует минут 5

Артемий
15.02.2018
10:10:33
runningDifference(UserId) <> 0 ? runningDifference(Clicks) : 0 вот так лучше
Спасибо, попробую. Интуитивного понимания пока нет

Vladimir
15.02.2018
10:14:00
Спасибо, попробую. Интуитивного понимания пока нет
runningDifference(Clicks) считает разницу кликов в строке X и в строке X-1 не зависимо от того, что там в других колонках строки. Для вашей задачи необходимо в подзапросе сначала отсортировать строки. Условный оператор нужен для того, чтобы не считать разницу кликов последнего дня юзера n1 и первого дня юзера n2

Alex
15.02.2018
11:29:47
заработало. возможно это был конфиг)))\
recursive_directory_iterator используется в двух местах: для вычисления таймзоны сервера и для реализации вставок в Distributed. Если ещё будет падать, попробуйте с помощью strace понять, какого именно файла не хватает.

Anton
15.02.2018
11:59:35
Добрый день. Подскажите, пожалуйста, можно ли для внешнего словаря с layout range_hashed использовать составной ключ (key), а не id?

Vladislav
15.02.2018
13:07:54
Привет. Подскажите, пожалуйста: Feb 15 16:05:59 cdn2 docker[15331]: 2018.02.15 13:05:59.045028 [ 11 ] <Debug> local.clickstream (StorageReplicatedMergeTree): Part 20180101_20180131_0_267872_24 (state Deleting) should be deleted after previous attempt before fetch Заметил расхождения в данных, полностью удалил партицию и перелил с зеркальной ноды через scp, теперь весь лог в таких ошибках. Можно как-то вылечить?

Alexey
15.02.2018
13:15:59
в следующий раз удалите партицию с проблемной ноды, а на здоровой ноде сделайте detach partition ; attach partition ;, и проблемная нода скачает сама со здоровой данные

можете и сейчас так попробовать сделать, например

вы же под зеркальной нодой имеете ввиду реплику?

а, или не так даже: 1. detach partition - на обеих репликах партиция перенесется в папку detached 2. очистите папку detached на проблемной ноде 3. attach partition, и проблемная нода скачает партицию со здоровой

John
15.02.2018
13:39:37
Привет. Подскажите пожалуйста. Нужны Dictionaries с mysql, которая на другом сервере за ssh, возможно такое провернуть?

Alexey
15.02.2018
13:51:26
Привет. Подскажите пожалуйста. Нужны Dictionaries с mysql, которая на другом сервере за ssh, возможно такое провернуть?
Можно отдельно сделать ssh туннель (пробросить порт 3306 или другой порт, который слушает MySQL) и затем подключать как обычно.

Alexey
15.02.2018
13:56:28
И ещё спросите у админа, который отвечает за этот MySQL сервер - может быть можно открыть порт.

Страница 422 из 723