
Vasilij
03.04.2018
12:35:15
При попытке дропнуть базу с MATERIALIZED VIEW (SummingMergeTree) таблицей, поймал ошибку:
Received exception from server (version 1.1.54370):
Code: 60. DB::Exception: Received from 127.0.0.1:9003. DB::Exception: Table funprodwh..inner.TurnoversNet doesn't exist..
И базу не прибить. Помог только detach (кстати, в дока написано что detach database нет, а на самом деле есть) и удаление руками из папки с метаданными.
Такое тут пробегало, или сделать issue?

Mikhail
03.04.2018
12:49:56
Привет.
Вопрос по словарям - поддерживает ли CH загрузку http(s)-словарей с basic-авторизацией?

Vladimir
03.04.2018
12:57:33

Mikhail
03.04.2018
12:58:13

Google

Wolf
03.04.2018
12:59:14
Ограничьте по айпи просто

Vladimir
03.04.2018
12:59:26

Mikhail
03.04.2018
12:59:33
естественно.
По IP - логично, но хотелось бы убедиться в отсутствии правильного пути.

Vladimir
03.04.2018
13:00:29
А какую ошибку пишет в system.dictionaries?

Nikolai
03.04.2018
13:01:32

Victor
03.04.2018
13:18:10
подскажите пожалуйста, с какими опциями собрать СH чтобы в результате получились отдельные (server, client итд),статически слинкованные бинари ?

Vasilij
03.04.2018
13:19:58

Nikolai
03.04.2018
13:20:36
да, хотел написать про имя базы
должно сработать с обратными кавычками

Vasilij
03.04.2018
13:21:15
Ок, я проверю.

Вячеслав
03.04.2018
13:46:11
Привет. Подскажите пожалуйста, а работает ли resharding?
Хочется при добавлении ноды в кластер перенести шард на новый сервер. На гитхабе нашел подобный вопрос, он еще открыт и последний комментарий от 20 сентября 2017 года (https://github.com/yandex/ClickHouse/issues/198).

Mikhail
03.04.2018
13:49:34
А какую ошибку пишет в system.dictionaries?
2018.04.03 16:44:52.394881 [ 35 ] <Error> ExternalDictionaries: Failed reloading 'regions' external dictionary: Code: 86, e.displayText() = DB::Exception: Received error from remote server https://name:password@URL/CH_dict_regions.tsv. HTTP status code: 401 Unauthorized, body: <html>

Google

Alexey
03.04.2018
14:13:41

Stanislav
03.04.2018
14:14:12
jabber пока ещё актуален

Vitaliy
03.04.2018
14:15:28
irc ))

strange
03.04.2018
14:15:39
плюсую irc

antuan
03.04.2018
14:15:39
icq

strange
03.04.2018
14:16:00
но скорее всего это будет слак :)

Stanislav
03.04.2018
14:16:37
нафиг, для него нет десктопного клиента под линукс

Атата
03.04.2018
14:16:53

Stanislav
03.04.2018
14:17:00
Тем более

Wolf
03.04.2018
14:17:01
Жабер ирк ICQ скорее мертвы чем живы
Вероятно в моде нынче слака

Dmitry
03.04.2018
14:17:06
там десктопный клиент и сайт - примерно одно и то же, разве нет?

Maxim
03.04.2018
14:17:12
ямб в открытый доступ яндекс не планирует ?

strange
03.04.2018
14:17:14

Wolf
03.04.2018
14:17:19

Атата
03.04.2018
14:17:19

Stanislav
03.04.2018
14:17:36
"на электроне" == "вебклиент"

strange
03.04.2018
14:17:37
и да, линуксовый слак на электроне, особых жалоб нет, используем давно

Wolf
03.04.2018
14:17:59
вполне себе жив irc
Ну ровным счётом я не знаю пользователей ирк кроме себя, о чем то это да и говорит

Stanislav
03.04.2018
14:18:20
Ну и покупать клиента, чтобы сидеть на единственном канале...

Google

Wolf
03.04.2018
14:18:33

strange
03.04.2018
14:18:43

Wolf
03.04.2018
14:18:47

strange
03.04.2018
14:18:49

Stanislav
03.04.2018
14:19:07
Либо я не понимаю, что у них в https://slack.com/pricing, либо в бесплатной версии нет доступа к внешним каналам

Атата
03.04.2018
14:20:25
Мэйл рассылки наше всё

Stanislav
03.04.2018
14:20:26
телеграм, кстати, не на электроне, судя по https://github.com/telegramdesktop/tdesktop
+100500 за рассылки, кстати...

Wolf
03.04.2018
14:21:52

Stanislav
03.04.2018
14:22:09
Скорее, это было что-то альтернативное.

strange
03.04.2018
14:22:41
хотя принцип примерно тот же

Stanislav
03.04.2018
14:22:56
Угу, C++ и всётакоэ...

Michal
03.04.2018
14:23:27
Подскажите - кто-то анализировал разницу (в скорости обработки / в хранении) при различных способах записи URL в кликхаус. Сейчас храним целиком в строках, думаю - не попробовать ли по частям хранить - протокол, домен, путь (как таблицу?), параметры URL. Может есть какие-то best practice на этот счет?
По идее должно лучше жаться и некоторые типы запросов должны быстрее выполняться. Но если обратно весь URL целиком понадобится - не факт что склеишь в "первозданном" виде.


Alexey
03.04.2018
14:26:05
Подскажите - кто-то анализировал разницу (в скорости обработки / в хранении) при различных способах записи URL в кликхаус. Сейчас храним целиком в строках, думаю - не попробовать ли по частям хранить - протокол, домен, путь (как таблицу?), параметры URL. Может есть какие-то best practice на этот счет?
Мы храним целый URL в одном столбце и ещё дополнительно только домен в другом столбце. Если выбирать только домен, то это быстрее на порядки.
Если вам часто надо выбирать, например, только протокол - то его тоже положите в отдельный столбец.
А из столбца с целым URL можно домен не вырезать, так как разница будет небольшой.
И ещё довольно важно вырезать из URL отдельные "мусорные" параметры - например, какие-то длинные шифрованные параметры в base64, которые вы не можете расшифровать. После сжатия они могут отнять в районе 90% места.
В качестве дополнительных трюков - можно декодировать %-последовательности в URL в UTF-8, но только кроме символов /, &, =, ?, #, ", \, чтобы не портить структуру URL-а. Чтобы получить красивые строки для отображения в отчётах, вида https://yandex.ru/?text=упячка. При этом важно, что %-кодированные последовательности могут быть не обязательно в UTF-8 и кодировку надо правильно определять.


Jen
03.04.2018
14:32:22
а есть какой то реальный кейс, чтобы хранить URL as is со всеми квери?

Артемий
03.04.2018
14:32:31
Пользуемся только Slack и только Telegram. Однако Slack не так легок для общения.

Jen
03.04.2018
14:32:49
всегда казалось, что достаточно хранить оптимизированный URL без квери для разного рода отчетности

Google

Alexey
03.04.2018
14:34:01

papa
03.04.2018
14:39:41

antuan
03.04.2018
14:40:17
@milovidov_an можете подсказать что-нибудь по этому вопросу? баг или фича? https://github.com/yandex/ClickHouse/issues/2124

Michal
03.04.2018
14:45:15
>При использовании обычного IN-а, запрос отправляется на удалённые серверы, и на каждом из них выполняются подзапросы в секциях IN / JOIN.


antuan
03.04.2018
14:49:55
действительно, забыл про это

Michal
03.04.2018
14:50:09
Ну а то что на "удаленных серверах" отсутствует таблица которая нужна для выполнения подзапроса с IN - это уж вопрос планирования схемы базы.

antuan
03.04.2018
14:50:49
дада, я понял
фича
спасибо

Michal
03.04.2018
14:50:52
Если вместо IN написать GLOBAL IN то наверное заработает.

Vladimir
03.04.2018
15:01:31

Kirill
03.04.2018
15:06:28

Pika
03.04.2018
15:11:53

Michal
03.04.2018
15:14:23
В показаном примере из файла /etc/metrika.xml будет подставлена секция <remote-servers>
Как-то так работает :) А подробности вроде бы есть в документации. Или я не правильно понял вопрос?

Aloneibreak
03.04.2018
15:16:19
привет
есть такая проблема
2 шарда по 2 реплики
на всех шардах есть таблица MergeTree
так же на всех шардах есть таблица Distributed которая смотрит в эти MergeTree
в какой-то момент запросы на первый шард начинают возвращать ошибку о том, что якобы на репликах второго шарда нет MergeTree таблиц которые он ищет
лечится пересозданием Distributed таблицы на первом шарде, но помогает ненадолго. через какое-то время проблема повторяется
с чем может быть связано?

papa
03.04.2018
15:17:58
примерно так
<xsl:template match="*[@incl]" name="inc">
<xsl:copy>
<xsl:variable name="x" select="@incl"/>
<xsl:apply-templates select="document($metrika_path)/yandex/*[name()=$x]/node()"/>
</xsl:copy>
</xsl:template>

Pika
03.04.2018
15:19:57
@orantius ОМГ

Google

Pika
03.04.2018
15:20:33
В любых вариациях с отдельными файлами конфигами получаю
<Error> Application: zkutil::KeeperException: Fail to initialize zookeeper. Hosts are

Michal
03.04.2018
15:24:02

papa
03.04.2018
15:24:23
делаете /etc/metrika.xml , в нем <yandex>, в нем <remote_servers>

Pika
03.04.2018
15:25:48
Вааааат!? Атрибут include_from может быть определён у тега remote_servers или zookeepers?

papa
03.04.2018
15:26:57
http://clickhouse-docs.readthedocs.io/ru/latest/configuration_files.html
заодно и сам почитаю

molo4ko
03.04.2018
15:28:01
> xslt
кх готов в энтерпрайз

Michal
03.04.2018
15:28:11
Но на самом деле можно и не использовать этот файл с подстановками. А просто в config.xml или в conf.d написать <yandex>
<remote_servers>
<test_cluster>
<shard>
<replica>
<host>node1</host>
<port>9000</port>
</replica>
</shard>
<shard>
<replica>
<host>node2</host>
<port>9000</port>
</replica>
</shard>
</test_cluster>
</remote_servers>
</yandex>

Wolf
03.04.2018
15:28:11

Pika
03.04.2018
15:28:17

papa
03.04.2018
15:28:53

Michal
03.04.2018
15:29:10
Но все равно почитайте: https://clickhouse.yandex/docs/ru/operations/configuration_files/ :)

Pika
03.04.2018
15:30:47
Mikhail Как фича риквест, вы можете выпилить вот эту историю с incl и /etc/metrika.xml, чтобы людей не путать?)


Michal
03.04.2018
15:36:18
Это не ко мне, я не из Яндекса :) Из моего опыта: этот файл с подстановками правда полезен если один и тот же фрагмент конфигурации нужно многократно в разных местах использовать. Например для <networks> при создании пользователей - чтобы не перечислять несколько подсетей каждый раз. При конфигурации кластера - я так и не понял привносит ли он что-то дополнительно, по сравнению с просто выделенным в отделный файл "подконфигом".
Процитирую ридми который писал для наших ОПсов.
Configuration of ClickHouse is stored in XML files.
With distribution 2 files came: config.xml (main server settings), and users.xml (users, profiles, quotes).
Generally best practice is to leave the default configs unchanged, and make all the config changes in separate files.
With that new default settings coming in newer versions will be properly set up.
All files from conf.d folder will be attached to config.xml
All files from users.d folder will be attached to users.xml
For each XML node you can set up following attributes:
1) remove="remove" : remove the node from config
2) replace="replace" : replace the node with new variant
3) incl="node_name" : get the node from substitutions file
4) from_zk = "/path/to/node". The element value is replaced with the contents of the node at /path/to/node in ZooKeeper
Ну и например в conf.d/listen.xml записано:
<?xml version="1.0"?>
<yandex>
<listen_host replace="replace">::</listen_host>
</yandex>
в users.d/disable_default.xml
<?xml version="1.0"?>
<yandex>
<!-- Remove default users (defined in users.xml), we allow access by passwords only -->
<users>
<default remove="remove" />
<readonly remove="remove" />
</users>
</yandex>