@clickhouse_ru

Страница 598 из 723
Yuri
24.07.2018
13:50:58
куда нести деньги?!?!?

Pavel Tyavin
24.07.2018
13:52:34
у нас linux ?
напишите, если у вас заведется, пожалуйста

Vladimir
24.07.2018
13:53:00
напишите, если у вас заведется, пожалуйста
Как получится, скажу что делали ?

Google
Pavel Tyavin
24.07.2018
13:53:50
Единственное решение, которое я видел - когда десктоп и сервер на одной машине, и с десктопа воркбуки пабляшатся на сервер. Извините за обилие англицизмов

если на сервер паблишить с удаленных десктопов, коннекшн до CH не работает

mikhail
24.07.2018
13:55:20
groupArray(x)
Шикарно! Пасибо!

Vladimir
24.07.2018
13:56:08
Единственное решение, которое я видел - когда десктоп и сервер на одной машине, и с десктопа воркбуки пабляшатся на сервер. Извините за обилие англицизмов
У нас игровая база на монге, которая забирается в ClickHouse. Он стоит на Linux-сервере. Я хочу забирать базу в Табло, которое стоит на Mac os x и отправлять сделанное там в веб.

Pavel Tyavin
24.07.2018
13:56:59
сочувствую. Если отчаятесь - посмотрите в сторону superset. У него не odbc подключение к ch, там одной проблемой будет меньше

не odbc - то есть обычное ch-http

Kirill
24.07.2018
13:58:30
Ещё. Оказалось, что после ALTER TABLE .. ADD COLUMN .. метаданные в ZK не изменились, и по прежнему не содержат новую колонку. Так и должно быть?
Вообще должны менятся, насколько я помню, да и по логике оно должно быть так, ведь правда @ztlpn ? Какая у вас версия сервера и действительно ли вы смотрите в тот ZK (и актуален ли он)?

Владислав
24.07.2018
14:01:54
Вообще должны менятся, насколько я помню, да и по логике оно должно быть так, ведь правда @ztlpn ? Какая у вас версия сервера и действительно ли вы смотрите в тот ZK (и актуален ли он)?
Версия сервера 1.1.54385. ZK правильный: использую сразу несколько таблиц в кластере, и остальные таблицы реплицируются правильно

И это тем более странно, что на момент, когда я добавлял новые колонки в одну из реплик, оно синхронизировалось на остальные. А теперь не даёт мне создать таблицу со всеми колонками, потому что Table structure in ZooKeeper is too different from local table structure

Ievgen
24.07.2018
14:21:53
мм есть вопрос, по поводу arrays, tuples и прочего, рою документацию, но точно сформулировать по прочитанному пока не могу, буду благодарен если кто либо меня направит в нужном направлении: есть массив построенный через квери вида groupArray((column1, column2, column3,...columnN, Count)) AS groupArr - количество колонок произвольно, есть outer квери по результату - SELECT arrayMap(lambda(tuple(a), (a .1, a .2, a.3, а.N)), groupArr), я могу каким то образом в врхнем квери взять все елементы массива(кортежа) кроме например последнего, сделать для каждого элемента toString() и concat() всех елемнтов или например arrayStringConcat(), затем взять последний елемент а.LAST и вернуть как результат?

если непонятно обьяснил - буду рад сформулировать подробнее

если такое возможно - сильно поможет в динамической группировке при построении графиков

Alex
24.07.2018
14:44:37
Ещё. Оказалось, что после ALTER TABLE .. ADD COLUMN .. метаданные в ZK не изменились, и по прежнему не содержат новую колонку. Так и должно быть?
Смотря какие метаданные - есть общий список (`/путь/к/таблице/columns`), а есть ещё и список столбцов каждой реплики (`/путь/к/таблице/replicas/реплика/columns`). Общий список столбцов должен первым делом меняться.

Google
Владислав
24.07.2018
14:51:47
Смотря какие метаданные - есть общий список (`/путь/к/таблице/columns`), а есть ещё и список столбцов каждой реплики (`/путь/к/таблице/replicas/реплика/columns`). Общий список столбцов должен первым делом меняться.
в /путь/к/таблице/replicas/реплика/columns нету новых колонок, в общем списке по пути select * from system.zookeeper where path='/clickhouse/tables/0/myTable_replicated/columns' ничего не выдает. если запрашивать select * from system.zookeeper where path='/clickhouse/tables/0/myTable_replicated' and name = 'columns' format Vertical, то выдаст, снова таки список колонок, в котором нету новых

Alex
24.07.2018
14:58:51
А когда проявился разный порядок столбцов первичного ключа?

Такого не должно быть. Только если кто-то где-то вручную поправил.

Владислав
24.07.2018
15:00:11
А когда проявился разный порядок столбцов первичного ключа?
Вот без понятия. Оно себе работало-работало, а тут понадобилось добавить новую реплику и это проявилось. Говорят, что никто не правил.

Даже если закрыть глаза на порядок в кортеже ключей, непонятно, что делать с колонками. Можно создать таблицу со старым списком колонок, и потом вручную добавить новые. (Хотя при добавлении первый раз я добавлял новые колонки только в одну из реплик и было всё правильно). Непонятно только, как оно будет стягивать старые данные. Вдруг сначала загрузятся только колонки, которые есть, а потом я сделаю alter table до полного набора колонок но данные из новых колонок не добавятся?

Я почти уверен, что всё работает (при вставке реплицируются все поля: как новые, так и старые), но только метаданные в ZK этого не отображают и не дают создавать новые реплики

Ievgen
24.07.2018
15:16:03
Если кому интересно, косвенно мой вопрос решается: groupArray((Count, (Column1,Column2,ColumnN)))) AS groupArr и поверх этого arrayMap(lambda(tuple(a), (a.2, a.1)), groupArr) тогда количество колонок в groupArray() можно менять динамически

Dmitry
24.07.2018
15:20:14
Вопрос не по сабжу, как доказать админам что они не вывозят

?

Victor
24.07.2018
15:20:58
драматичнее было бы спросить у Алисы

Wolf
24.07.2018
15:25:05
Вопрос не по сабжу, как доказать админам что они не вывозят
Думаю они знают и особо ничего не надо доказывать

Victor
24.07.2018
15:26:35
про даннинга-крюгера не забываем

Dmitry
24.07.2018
15:40:52
А есть вообще опытные системщики?

Stanislav
24.07.2018
16:12:27
вообще - есть, но присутствующие вряд ли признаются

Dmitry
24.07.2018
16:32:05
?

Yuran
24.07.2018
16:47:23
И сколько получается processed rows если выбирать метрику которая не существует? Чтобы 0 строк вернулось?
Вы правы, далеко не моментально возвращаются ответы про несуществующие метрики ? 0 rows in set. Elapsed: 26.385 sec. Processed 647.17 thousand rows, 37.26 MB (24.53 thousand rows/s., 1.41 MB/s.)

Denis
24.07.2018
16:55:07
Вы правы, далеко не моментально возвращаются ответы про несуществующие метрики ? 0 rows in set. Elapsed: 26.385 sec. Processed 647.17 thousand rows, 37.26 MB (24.53 thousand rows/s., 1.41 MB/s.)
в общем у меня есть похожая проблема, выборка по первичному ключу (проблема правда в том что читателей много и они вычитывают из КХ буквально несколько террабайт в день(по сети, пожатого), и диски загружены на 150%). Я двигаюсь в сторону уменьшения index_granularity, в моем случае оптимальным оказалось 256 (строки очень широкие, а КХ читает по 1 МБ.), плюс шардирования по серверам, т.е. метрика_id % (кол-во шардов) = номер_сервера_в_КХ_кластере, будут лежать на одном сервере, и таким образом будет заранее известно на какой сервер идти за метрикой, чтобы не напрягать остальные сервера.

Alexey
24.07.2018
20:00:45
Коллеги, а есть какая-нибудь информация по новым версиям? Которые v18.xx ? Стоит их собирать и пробовать или пока лучше не надо? :)
Изменена схема версионирования. На совместимость это не влияет - по прежнему, новые версии совместимы по форматам данных, протоколу и т. п., если в changelog не указано обратное. Changelog появится завтра.

Alexey
24.07.2018
20:10:30
Уважаемые, а формат JSONEachRow все еще не умеет парсить забубенные структуры?

Google
Alexander
24.07.2018
20:30:45
/stat@combot

Combot
24.07.2018
20:30:46
combot.org/c/-1001080295593

combot.org/c/-1001080295593

Alexey
24.07.2018
20:34:56
жаль, распарсить самому нет проблемы, но теряется вся красота и элегантность использования ENGINE Kafka

может на стороне брокера можно, но это я еще не исследовал. посмотрю сам, спасибо

Андрей
24.07.2018
21:55:01
Если кого заинтересует: RabbitMQ->Clickhouse писатель https://github.com/kak-tus/corrie

Александр
24.07.2018
22:00:11
Андрей
24.07.2018
22:03:21
Скорее, защита от потерь на первом месте. А потом уже скорость.

Daniel
24.07.2018
22:46:04
Подскажите, а можно ли импортировать TSV/CSV файл в КХ, в котором меньше столбцов, чем в таблице, заполняя отсутствующий столбец на этапе импорта? Делать столбец Default значением - не вариант, т.к. вставляться может в рамках разных импортов разные в пределах разных вставок значения, но одинаковые в пределах одной вставки. Ожидаю что-то вроде, но не работает: clickhouse-client --max_insert_block_size=2048576 --host 127.0.0.1 -u localadmin --query="INSERT INTO logtest.logtest ('12' ,A, B, C, D) FORMAT TabSeparated" < testimport

Denis
24.07.2018
23:49:59
cat testimport|awk '{print 12"\t"$0}'|clickhouse-client --max_in....

Vladimir
25.07.2018
07:34:07
Господа кто сталкивался

У меня в syslog 24ГБ в день таких сообщении Jul 25 06:56:37 tsf-zk21 zkServer.sh[5518]: 2018-07-25 06:56:37,014 [myid:21] - INFO [ProcessThread(sid:21 cport:-1)::PrepRequestProcessor@596] - Got user-level KeeperException when processing sessionid:0xb0064c4ed980003 type:multi cxid:0xe33586 zxid:0x33ea68d15 txntype:-1 reqpath:n/a aborting remaining multi ops. Error Path:/clickhouse/tables/metrics_recent/01/MetricsDistributedRecentView/replicas/tsf-data13/parts/6a39566fb0adee5a545faefe40600f00_677_764_22 Error:KeeperErrorCode = NodeExists for /clickhouse/tables/metrics_recent/01/MetricsDistributedRecentView/replicas/tsf-data13/parts/6a39566fb0adee5a545faefe40600f00_677_764_22 Jul 25 06:56:37 tsf-zk21 zkServer.sh[5518]: 2018-07-25 06:56:37,014 [myid:21] - INFO [ProcessThread(sid:21 cport:-1)::PrepRequestProcessor@596] - Got user-level KeeperException when processing sessionid:0xb0064c4ed980002 type:multi cxid:0xf2db5c zxid:0x33ea68d17 txntype:-1 reqpath:n/a aborting remaining multi ops. Error Path:/clickhouse/tables/metrics_recent/01/MetricsDistributedRecentView/replicas/tsf-data22/parts/777d4a1a0371586f80193e7b6fa367f4_800_800_0 Error:KeeperErrorCode = NoNode for /clickhouse/tables/metrics_recent/01/MetricsDistributedRecentView/replicas/tsf-data22/parts/777d4a1a0371586f80193e7b6fa367f4_800_800_0

Понимаю что INFO но все же 24ГБ это не мало Весь лог забило

Это потенцияльная проблема или реально нормально и забить?

Se
25.07.2018
08:04:59
подскажите что делать если parts_to_check > 0 ?

vladimir
25.07.2018
08:16:33
Народ а что за 18 релизы?

clickhouse-client_18.1.0_all.deb 23-Jul-2018 22:15 3712

Google
vladimir
25.07.2018
08:16:44
https://repo.yandex.ru/clickhouse/deb/stable/main/

vladimir
25.07.2018
08:17:15
такое впечатление что 544 отожрало в начале

Kirill
25.07.2018
08:17:25
Народ а что за 18 релизы?
По новому версии именуются

vladimir
25.07.2018
08:18:14
По новому версии именуются
они обратно совместимы жешь да?

Kirill
25.07.2018
08:18:38
vladimir
25.07.2018
08:19:25
а тут их нет

https://github.com/yandex/ClickHouse/blob/master/CHANGELOG_RU.md

выглядит как то странно

Kirill
25.07.2018
08:20:01
а тут их нет
Сегодня будут

vladimir
25.07.2018
08:20:13
а ну тогда и обновимся

Michal
25.07.2018
08:20:15
Изменена схема версионирования. На совместимость это не влияет - по прежнему, новые версии совместимы по форматам данных, протоколу и т. п., если в changelog не указано обратное. Changelog появится завтра.

Michal
25.07.2018
08:24:29
Если кому интересно, косвенно мой вопрос решается: groupArray((Count, (Column1,Column2,ColumnN)))) AS groupArr и поверх этого arrayMap(lambda(tuple(a), (a.2, a.1)), groupArr) тогда количество колонок в groupArray() можно менять динамически
На самом деле в КХ есть куча всяких красивых функций для работы с массивами. Для удаления последнего элемента можно воспользоваться arrayPopBack (если я конечно правильно понял суть вашего вопроса).

может это стоит в шапке закрепить на недельку?
Угу. Вместе с фразой про "завтра" :-D

Se
25.07.2018
08:33:31
Ничего
но горит алерт , который я настроил на запрос отсюда

https://clickhouse.yandex/docs/en/operations/system_tables/#systemreplicas

т.е. другие проблемы теперь не возможно будет увидеть

как вариант поднять parts_to_check > 100, но зачем тогда эта проверка если ничего не надо с этим делать

Alexey
25.07.2018
08:36:09
т.е. другие проблемы теперь не возможно будет увидеть
в обычной ситуации этот селект выдает 0, у меня тоже настроен на мониторинг. Найдите проблемный кусок, перегрузите реплики, посмотрите в логи

Google
Vladimir
25.07.2018
08:36:16
Звиняйте что повторяюсь но что делать с этими логами Error:KeeperErrorCode = NoNode for /clickhouse/tables/metrics_recent/01/MetricsDistributedRecentView/replicas/tsf-data22/parts/777d4a1a0371586f80193e7b6fa367f4_800_800_0 Все под корень заспамили

Kirill
25.07.2018
08:39:04
но горит алерт , который я настроил на запрос отсюда
Если он просто > 0, не катострафически большое число то ок, КХ почекает его и поймет что с ним делать, такое бывает когда КХ не уверен записал он данные о куске в ZK или нет, т.е. в курсе ли другие ноды об этом, поэтому он его не выкинул, а оставил на "проверку"

Vladimir
25.07.2018
08:48:59
они в 3 AZ поэтому такая нумерация

Ievgen
25.07.2018
08:50:21
На самом деле в КХ есть куча всяких красивых функций для работы с массивами. Для удаления последнего элемента можно воспользоваться arrayPopBack (если я конечно правильно понял суть вашего вопроса).
вопрос был не совсем про удаление из массива, но я уже решил, спасибо, с точки зрения графаны это выгладит так: SELECT groupArray((($unescape($param)), Count)) AS groupArr и поверх него SELECT arrayMap(lambda(tuple(a), (replaceRegexpAll(replaceRegexpAll(toString(a.1), '[(|)|\']', ''), ',', ' - '), a.2)), groupArr) - не факт что самое красивое решение но дает в легенду произвольное содержимое $param через -

Vladimir
25.07.2018
09:05:53
Всем привет. Если кому интересно, я вчера заходил с вопросом, то нам удалось таки поженить MongoDB -> ClickHouse на Linux, которая забирается в Tableau на Mac OS X. Через боль и терни, но это работает и живо. Теперь женим MongoDB параллельно с ClickHouse в тот же Tableau на Mac OS X, в качестве параллельного источника данных.

Саша
25.07.2018
09:38:28
Добрый день. Подскажите, пожалуйста, может появились какие-нибудь функции для решения задачи. Есть таблица статусов пользователей, статусы могут меняться по несколько раз на дню. надо вытащить кол-во статусов пользователей на дату от начала временного периода. Т.е. некоторое накопленное значение, например, на 2018-07-25 было 1000 пользователей в статусе активен. С помощью argMax для конкретной даты данные можно вытащить. Задача усложняется двумя моментами. Нужны данные по временному промежутку, чтобы построить график. И у каждого пользователя есть теги, по которым тоже надо фильтровать.

Denis
25.07.2018
09:39:43
а вопрос-то в чём?

Саша
25.07.2018
09:41:33
появились ли инструменты или есть ли идеи как лучше сделать

Michal
25.07.2018
09:53:01
появились ли инструменты или есть ли идеи как лучше сделать
А что именно вызывает сложности? Чтобы знать как это сделать ЛУЧШЕ нужно примерно представлять как это уже сделано, и что именно вызывает затруднения.

Из этого (очень общего) описания - всё звучит так как несколько селектов с разными GROUP BY. С правильно выбранным первичным ключом всё должно работать быстро.

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