
Yuri
24.07.2018
13:50:58
куда нести деньги?!?!?

Pavel Tyavin
24.07.2018
13:52:34

Constantin
24.07.2018
13:52:49

Vladimir
24.07.2018
13:53:00

Google

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

mikhail
24.07.2018
13:55:20

Vladimir
24.07.2018
13:56:08

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

Kirill
24.07.2018
13:58:30

Владислав
24.07.2018
14:01:54
И это тем более странно, что на момент, когда я добавлял новые колонки в одну из реплик, оно синхронизировалось на остальные. А теперь не даёт мне создать таблицу со всеми колонками, потому что 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

Google

Владислав
24.07.2018
14:51:47

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
драматичнее было бы спросить у Алисы

papa
24.07.2018
15:21:01

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


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

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:02

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

Mike
24.07.2018
21:08:17

Андрей
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....

Alexey
24.07.2018
23:50:21
Подскажите, а можно ли импортировать 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
Так не получится.
Но можно поступить по-другому. Создать временную таблицу типа TinyLog только с нужными столбцами. Загрузить туда данные. Потом переложить в основную таблицу с помощью INSERT SELECT - при этом можно применить любое преобразование.


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/

Kirill
25.07.2018
08:17:00

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

Kirill
25.07.2018
08:17:25

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 появится завтра.

vladimir
25.07.2018
08:21:07

Michal
25.07.2018
08:24:29

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

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:37:09

Se
25.07.2018
08:38:29

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, в качестве параллельного источника данных.

Tima
25.07.2018
09:29:09


Саша
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. С правильно выбранным первичным ключом всё должно работать быстро.