
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

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 то со времением клик съедает память и падает
По этой же причине, и думаю, что может с копированием засечек - часть операций ускорится.
Спасибо за ответ

Maxim
14.02.2018
15:13:18

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

Artem
14.02.2018
15:48:03

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 процентах.

Tima
14.02.2018
16:27:06

Mike
14.02.2018
16:31:27

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
что и следовало ожидать

Yuran
14.02.2018
17:15:00

Google

Oleg Bazdyrev
14.02.2018
17:15:38

Yuran
14.02.2018
17:16:32

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

Kirill
14.02.2018
18:10:14

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

?
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) - уникальный ключ

Vladimir
15.02.2018
08:26:57

Алексей
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"}]

Tima
15.02.2018
09:37:22

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

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":"Россия"},...],
...
}

Tima
15.02.2018
09:56:36

Алексей
15.02.2018
09:57:20

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
`

Tima
15.02.2018
10:02:19

Andrey
15.02.2018
10:03:50
заработало. возможно это был конфиг)))\

Google

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

Артемий
15.02.2018
10:10:33

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

Артемий
15.02.2018
10:26:37

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

John
15.02.2018
13:55:41

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