@clickhouse_ru

Страница 211 из 723
Aleksander
24.07.2017
17:07:38
Можно держать справочные таблицы в ClickHouse, если они append-only.
К сожалению, они апдейтебл и индексы нужны для быстрого поиска по ним

Alexey
24.07.2017
17:11:01
Привет всем! Кто может помочь разобратся, что же произошло с размером... https://drop.vitalvas.com/storage/72/77/16ecac74f355de0078f086ae5e35.png
Если я правильно понял график, и там речь про 100 мегабайт, то я бы не беспокоился. Место на диске обычно колеблется из-за постоянных мержей. Но на масштабе месяца этой "пилы" не должно быть сильно заметно. Также можно посмотреть на данные в detached директории - туда могут складываться (навечно) всякие ошибочные данные при репликации и восстановлении после сбоев, которые можно самостоятельно удалить.

Никто не знает про изменение А записи при репликации? :)
Возможно, что и правда DNS запрос делается при каждом взаимодействии с репликой. Но я бы на это не закладывался - можем "исправить" - сделать вечное кэширование также как в других местах.

Google
Vladislav
24.07.2017
17:14:21
Соответственно любое изменение IP реплики должно приводить к перезапуска всего кластера?

Alexey
24.07.2017
17:15:12
Да. Но в планах разработки на ближайшее время есть некие SYSTEM запросы, в которые входит возможность сброса DNS кэша.

Alex
24.07.2017
17:15:31
Привет всем, рассматриваю clickhouse для своих задач и появился вопрос: можно ли как-то считать накапливаемую метрику, с указанием того, как конкретная запись повлияла на метрику?

Alexey
24.07.2017
17:17:37
Привет всем, рассматриваю clickhouse для своих задач и появился вопрос: можно ли как-то считать накапливаемую метрику, с указанием того, как конкретная запись повлияла на метрику?
Наверное для этой задачи можно хранить неагрегированные данные. Тогда каждые метрики можно считать по сегментам, включающим или не включающим какую-либо часть записей.

Vladislav
24.07.2017
17:23:02
А как сейчас Clickhouse получает адреса реплик, если в конфигурации нет описания кластера <remote_servers>?

Alexey
24.07.2017
17:24:06
Реплики анонсируют свой адрес и узнают друг о друге с помощью ZooKeeper: информация в нодах /path/to/replica/host и is_active.

Alex
24.07.2017
17:28:16
народ помогите... один и тот же запрос через консольный клиент выполняется без проблем. а через табик ошибка и в логах:

DB::Exception: Cannot write to ostream

через tabix*

а удалил данные выплонил этот же запрос вернуло без ошибок пустую таблицу.

Alexey
24.07.2017
17:30:24
Обычно это означает, что клиент не прочитал HTTP ответ до конца и разорвал соединение. Для разбирательства, попробуйте ещё сделать тот же самый запрос через curl: curl http://host:8123/ --data-binary "запрос"

Alex
24.07.2017
17:30:52
понял. сделаю сейчас.

Sergei
24.07.2017
17:33:13
data - массив символов всех строк в блоке данных, уложенных подряд. Пачка типично из десятков тысяч строк. pattern - одна строка с шаблоном.
Если не затруднит, подскажите пожалуйста, что будет в строке https://github.com/yandex/ClickHouse/blob/master/dbms/src/Functions/FunctionsStringSearch.cpp#L499 в needle_data если match вызвать например так match(url, dictGetString('dict', 'page_regexp', tuple(domain)) туда прийдут уже значения полученные из словоря? Аналогично этой функции https://github.com/yandex/ClickHouse/blob/master/dbms/src/Functions/FunctionsStringSearch.cpp#L211

Google
Sergei
24.07.2017
17:41:29
Да.
Тогда я не совсем понимаю, почему функция position позволяет использовать не константные аргументы, а match нет Чисто чтобы не забивать пул регулярок (защита от выстралав ногу пользователя КХ) Если я уже имею все и мне только нужно получить регулярку из пула либо создать новую)

Alexey
24.07.2017
17:43:21
Тогда я не совсем понимаю, почему функция position позволяет использовать не константные аргументы, а match нет Чисто чтобы не забивать пул регулярок (защита от выстралав ногу пользователя КХ) Если я уже имею все и мне только нужно получить регулярку из пула либо создать новую)
Для position пришлось использовать разные реализации - когда инициализировать структуру данных для поиска можно долго, но зато потом быстро искать (поиск одной подстроки в большом массиве) и когда нельзя. > Если я уже имею все и мне только нужно получить регулярку из пула либо создать новую) Попробуйте. Наверное получится сделать сначала довольно посредственную по скорости реализацию, а потом её можно будет улучшить.

Alex
24.07.2017
17:55:48
DB::Exception: Cannot write to ostream
блин я уже и nginx настроил как кх просит... и по мануалу табикса...

может это наведен на мысль... подключаюсь через впн сеть

DB::Exception: Cannot write to ostream
подключился через табикс на другом серваке и тоже самое. ошика и все. при этом если этот же табикс натравить на свой локалхост на такую же базу, то запрос отрабатывает...

магия какая-то((

я вот думаю.. кх поднят на виртуалке.... сам проц выделенного сервера пишет что поддерживает SSE 4.2 а на пишет типа не поддерживает...

может ли быть из-за этого?

не изза этого. поменял режим эмуляции проца и стало поддержимать SSE4.2

Alexander
24.07.2017
18:18:36
привет, у меня тут вопрос скорее всего к питону, но вдруг поможете диагностировать? :) пытаюсь запустить вставку из скрипта, сам скрипт выглядит примерно так: http://paste.org.ru/?3ngnbh

скрипт печатает строку /usr/bin/clickhouse-client -h *здесь был hostname* —max_memory_usage 250000000000 —max_bytes_before_external_group_by 100000000000 —max_bytes_before_external_sort 100000000000 —query="insert into test.dest select toStartOfMonth(event_date) as month, site, uniqExact(id) as users, count() as hits from test.source group by event_date, site;" и падает plumbum.commands.processes.ProcessExecutionError: Command line: ['/usr/bin/clickhouse-client', '-h', 'host', '--max_memory_usage', '250000000000', '--max_bytes_before_external_group_by', '100000000000', '--max_bytes_before_external_sort', '100000000000', '--query="insert into test.dest select toStartOfMonth(event_date) as month, site, uniqExact(id) as users, count() as hits from test.source group by event_date, site;"'] Exit code: 62 Stderr: | Code: 62. DB::Exception: Syntax error: failed at position 1: "insert into test.dest select toStartOfMonth(event_date) as month, site, uniqExact(id) as users, count() as hits from test.source group by event_date, site;", expected OPTIMIZE |

если скопипастить сгенерированную строку в консоль, все выполняется на ура

Fike
24.07.2017
18:21:02
с учетом того, что вы передаете аргументы как массив, кавычки в запросе скорее всего не нужны

они нужны для того, чтобы среда выполнения (шелл) воспринимала заключенное в них единой строкой, а не била на отдельные аргументы

Alexander
24.07.2017
18:22:22
@etkee точно, спасибо большое! чот протупил :)

Vladislav
24.07.2017
18:56:14
@milovidov_an Насколько я вижу в ноде указывается домен. А при восстановлении реплики (с удалением ноды ZK этой реплики и созданием таблицы с прежним Replica ID заново на новом инстансе) другие реплики перечитают ноду как изменившуюся, или данные о реплике должны быть закэшированы?

Google
Vladislav
24.07.2017
19:02:23
Большое спасибо! :)

Victor
25.07.2017
00:12:41
ребята тут спам

Stas
25.07.2017
06:18:44
@milovidov_an @miptgirl спам в чате!

Oleg
25.07.2017
06:26:31
заходите в группу, Actions, Report, Spam

Fike
25.07.2017
06:27:59
заходите в группу, Actions, Report, Spam
не припомню ни одного случая, когда телеграм предпринял какие-то действия

vladimir
25.07.2017
07:27:28
Народ привет! Подскажите плз, если у меня есть таблица реплицируемая на 3 ноды, и я для этой таблицы создам Distributed таблицу, и все запросы на чтение буду посылать через нее, то время выполнения запросов увеличится или нет?

Я хочу уменьшить время обработки долгих запросов, обработкой сразу тремя серверами

Amos
25.07.2017
08:17:39
Hello!

I just did a docker-compose up -d in clickhouse master tree

however, cllickhouse-client returns error

❯ docker-compose run client (1s 670ms) ClickHouse client version 1.1.54245. Connecting to localhost:9000. Code: 210. DB::NetException: Connection refused: (localhost:9000, ::1)

Mike
25.07.2017
08:40:23
netstat lnp

Evgenii
25.07.2017
08:51:33
Добрый день! Подскажите, когда clickhouse регистрируется в zookeeper он прописывает hostname машины, нельзя ли ручками задать этот параметр в конфиге? У меня например хостнейм отличается от локального днс имени.

Vladislav
25.07.2017
09:02:37
remote_server в конфиге с одним shard должно помочь

Это есть в главе про Distributed в документации: https://clickhouse.yandex/docs/en/single/#distributed . Насколько я понимаю этот конфиг перезапишет параметры по умолчанию :)

Dmitry
25.07.2017
09:16:55
Добрый день! Подскажите, кто-то настраивал соединение с КликХаусом в QlikView? QlikViewJDBCConnector почему-то не видит драйвер

Ksu
25.07.2017
09:48:49
Добрый день! Кто-нибудь знает, можно ли в кликхаусе настроить динамическое подгружение результатов запроса? Предположим, у нас селект с условием по огромной таблице, можно смотреть результаты до выполнения всего запроса?

Google
Рулон
25.07.2017
10:13:34
Добрый день! Подскажите, кто-то настраивал соединение с КликХаусом в QlikView? QlikViewJDBCConnector почему-то не видит драйвер
Чисто из спортивного интереса, а зачем нужна такая связка? Чтобы потом qvd делать?)

Dmitry
25.07.2017
10:14:03
Ну да

Admin
ERROR: S client not available

Рулон
25.07.2017
10:24:04
А смысл? вытягивать портянки.... мы наоборот пытаемся уйти от QV ) Драйвер никак не сделают )

Phil
25.07.2017
10:40:20
Кстати, а чем сейчас лучше всего делать dashboard к CH? Мы как раз выбираем между ClickSense (и его не очень хочется использовать) и чем-то еще поверх КХ. Есть какое-то внятное сравнение графаны (и насколько вообще удачно там КХ проинтегрирован), табикса (и что там вообще еще бывает).

Yury
25.07.2017
10:47:23
в графане выводится результат одного запроса к кх. Так что данные должны быть организованы так, чтобы их можно было получить в этот один запрос.

Но в целом это общая проблема

Phil
25.07.2017
10:49:10
Т.е. графана получше табикса (для BI)?

Yury
25.07.2017
10:49:31
графана для BI не подходит

Vladislav
25.07.2017
10:49:56
Всем привет, подскажите пожалуйста, как оптимально решить задачу. Есть массив уникальных идентификаторов полученный с помощью 'groupUniqArray()' и есть внешний словарь с числовым значением для каждого идентификатора, нужно посчитать сумму этих числовых значений.

На вход id для 'dictGetInt64()' я не могу задать массив идентификаторов и сделать по ней sumArray() :(

Combot
25.07.2017
10:51:22
combot.org/chat/-1001080295593

Phil
25.07.2017
11:03:13
А к redash есть ClickHouse appender? На странице не указано (

Vladislav
25.07.2017
11:03:45
есть. сам его писал )

Phil
25.07.2017
11:05:45
Но без autocomplete?

Vladislav
25.07.2017
11:07:28
названия таблиц и колонок с автокомплитом

Google
Phil
25.07.2017
11:12:04
А фильтры там есть? Что-то не смог найти в документации, как можно повесть на дашборд кнопки или чекбоксы для возможности уточнения запросов или указания диапазонов.

А, все, вижу.

Stas
25.07.2017
11:15:24
Хм,а redash - конкурент графаны?

Roman
25.07.2017
11:21:01
На вход id для 'dictGetInt64()' я не могу задать массив идентификаторов и сделать по ней sumArray() :(
не пробовал сам, но если я правильно понял вот такое может помочь? arraySum(x -> dictGetInt64(...), array)

Vladislav
25.07.2017
11:24:03
Хм,а redash - конкурент графаны?
ну я б так не сказал, бизнес-аналитика у нас в редеше, техническая – в графане

Roman
25.07.2017
11:28:43
Может кто-то сталкивался. Есть таблица с Enum столбцом, необходимо обновить тип добавив в него новые значения. В таблицу записи идут через Buffer таблицу. При обновлении alter table.. modify column ... основной таблицы все проходит ок. Далее, пересоздаем buffer таблицу create table table_buffer as .... Все ок, desc показывает одинаковые схемы. Начинаем писать в Buffer-таблицу, но при сбросе данных из нее в основную происходит ошибка: Type mismatch for column Enum... , и в описании ошибки типы действительно отличаются. Локально эту ситуацию не удается повторить. Версия КХ 1.1.54236

Andrey
25.07.2017
11:30:53
cmake -DMAKE_STATIC_LIBRARIES=0
Привет! Я хочу опять попросить помощи в сборке. Пытался прилинковать libdbms.a, но получил сообщение /usr/bin/ld: /home/x4m/clickhouse/build/dbms/libdbms.a(Connection.cpp.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC Мне нужно Clickhouse собрать в PIC или есть какой-то другой способ? В Connection.cpp я экспортировал несколько функций (своих) как extern "C", видимо надо что-то по-другому экспортировать :)

Vladislav
25.07.2017
11:38:24
А чем такой выбор обусловлен?
на момент, когда мы начали пользоваться CH, вообще никаких коннекторов не было, redash выглядел самым адекватным вариантом. к тому же, там сильно больше коннекторов к другим источникам по сравнению со всеми остальными вариантами. особенно радует возможность писать python-код как query. про графану мало знаю, я там только работу аналитических серверов мониторю. думаю, это из-за легкости подключения и сбора метрик.

hamper ?
25.07.2017
12:36:51
А в кх самый быстрый способ сделать аналог truncate это drop+create table?

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