
Alex
19.07.2017
08:03:25
Соррян :)

Tima
19.07.2017
09:40:53
/subscribe

GithubReleases
19.07.2017
09:40:53

Vladimir
19.07.2017
10:00:25
всем привет. а есть где-нибудь инфа о том, как много оставляет дубликатов ReplacingMergeTree?

Google

Alex
19.07.2017
10:04:01
До компакта - undefined, после компакта - без дубликатов
из своего небольшого опыта
т.е. вставлял дубликаты, видел что count() растёт, потом в какой-то момент схлопывается

Vladimir
19.07.2017
14:21:03
временно сделал так чтобы бот никому кроме меня не отвечал

Fike
19.07.2017
14:48:15
Я впервые добрался до непосредственно работы с КХ. Подскажите, есть ли возможность импортировать CSV, но при этом одну колонку указать "снаружи" (т.е. в самом csv ее нет, но она одинакова для всех записей, находящихся в CSV)?

Alexander
19.07.2017
14:52:11

Fike
19.07.2017
15:04:35
Она разная для разных CSV
Но размер данных не очень большой, поэтому обошелся простой вставкой через sed

Dima
19.07.2017
15:08:25
Подскажите плиз, можно ли настроить INTO OUTFILE чтобы он завершал строки WINдово CRLF ?

Юрий
19.07.2017
15:54:18
Привет!
Подскажите пожалуйста, есть ли какой быстрый способ получить список уникальных значения в столбце?
стандартные способы через GROUP BY и DISTINCT занимаю 22 и 31 секунду соотвественно.
БД на 6 миллиардов строк
Запрос простой вида SELECT destinct(item) FROM table WHERE id = 1

Andrey
19.07.2017
16:04:19
такого как на скрине ведь не должно быть, да?

Google

prll
19.07.2017
16:16:51
если 2 гига оперативки - должно быть.
шаг 1 - запустить make без -j

Pika
19.07.2017
16:25:57
Под UUID оптимизации нет
Скажи, пожалуйса, а ODBC драйвера для PG не умеет в UUID и способов кроме как конвертировать в строчку нет?

Alexey
19.07.2017
16:39:30

Юрий
19.07.2017
16:40:09

Andrey
19.07.2017
16:47:24

Alexandr
19.07.2017
17:11:26
каковы шансы принятия пул реквеста о добавлении кастомной агрегатной функции uniqpghll (имя обсуждаемо), которая совместима с форматом хранения postgres-hll? стоит ли реализовывать?

Alexey
19.07.2017
17:16:39
В районе 100%. Даже если речь идёт о редко востребованной возможности для специальной задачи - всё-равно стоит добавить. Агрегатные функции хорошо изолированы друг от друга, поэтому добавление такой агрегатной функции не усложняет кодовую базу.

Alexandr
19.07.2017
17:17:09
спасибо.

GithubReleases
19.07.2017
18:20:35
https://github.com/yandex/ClickHouse/releases/v1.1.54255-testing was tagged

Александр
19.07.2017
19:43:55
Было бы не плохо сделать runningDifference с группировкой :)
Что бы внутри группы считалась дельта

Alexey
19.07.2017
19:52:30
Это не очень сложно реализовать - см. для примера реализацию функции arrayEnumerateUniq. Пока не собирались делать.

Александр
19.07.2017
19:54:12
У меня к сожалению навыков кодинга на cpp нет, но парень в команде когда то писал :) если получится сделать что-то годное, то закинет pr
Я смотрел код самоой runningDifference, он проще некуда

Alexey
19.07.2017
19:57:15
Да, но с группами будет существенно сложнее.

Alexander
19.07.2017
20:06:12
Я посмотрел как movingSum сделать , с ходу не очень удалось понять как правильно блоки склеить, так как порядок не очень понятно где определить. Если я правильно понимаю то по этой же причини и anyLast недетерминирован.

Alexey
19.07.2017
20:13:19
Да, у нас при выполнении запроса не предусмотрены функции, которые зависят от порядка блоков. Такие как runningDifference сделаны в виде исключения.

Alexander
19.07.2017
20:21:54
Но теоретически можно самому информацию об этом положить в результат?

Google

Alexander
19.07.2017
20:23:05
Просто по идее или много функций будет будет это реализовывать самлстоятельно, или может какой-то общий механизм появится - либо блоки обязательно последовательно, либо информация о порядке.
А может ещё и третий вариант - через window агрегацию.

Alexey
19.07.2017
20:28:37
Не совсем понял, что функции могут реализовывать самостоятельно. Вариант максимум - реализовать window функции, другие варианты получаются неудобными.

Alexander
19.07.2017
20:58:41
Да, это самый универсальный вариант. Но тогда придется в памяти генерировать много данных с окнами, когда, вроде бы, можно этого избежать. Но надо сравнивать для точного ответа.

GithubReleases
19.07.2017
21:20:38
https://github.com/yandex/ClickHouse/releases/v1.1.54256-testing was tagged
https://github.com/yandex/ClickHouse/releases/v1.1.54257-testing was tagged
https://github.com/yandex/ClickHouse/releases/v1.1.54258-testing was tagged

Alexey
20.07.2017
00:44:22
https://ru.stackoverflow.com/questions/694305/clickhouse-%d0%b1%d1%8b%d1%81%d1%82%d1%80%d0%b0%d1%8f-%d0%b2%d1%8b%d0%b1%d0%be%d1%80%d0%ba%d0%b0-%d1%83%d0%bd%d0%b8%d0%ba%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d1%85-%d0%b7%d0%bd%d0%b0%d1%87%d0%b5%d0%bd%d0%b8%d0%b9/694411#694411

Mike
20.07.2017
08:19:39

Igor
20.07.2017
08:21:32
Подскажите-помогите, нода одна из реплик
сперва было
Code: 32, e.displayText() = DB::Exception: Attempt to read after eof
По удаляли файлы на которые ругалось
Теперь
DB::Exception: Cannot create table from metadata file /opt/clickhouse/metadata/aggr//summing_group_views_sharded.sql, error: DB::Exception: The local set of parts of table summing_group_views_sharded doesn't look like the set of parts in ZooKeeper. There are 0 unexpected parts (0 of them is not just-written), 0 unexpectedly merged parts, 0 missing obsolete parts, 27 missing parts, stack trace:
Как можно полечить это ?

Андрей
20.07.2017
08:49:12

Mike
20.07.2017
08:50:12

Vladimir
20.07.2017
08:51:12
Всем привет, периодически падают ноды с ошибками - DB::Exception: Resource temporarily unavailable. - на какие показатели смотреть нужно?


Anton
20.07.2017
09:10:29
Всем привет.
Есть две реплики одной таблицы test_table.
В remote_servers настроен кластер из одного шарда и этих двух реплик.
На обеих репликах создана Distributed таблица distributed_table, которая смотрит на этот кластер.
Если выполнять запрос вида select *, hostName() from distributed_table; на одном из серверов с репликой test_table, то всегда будет возвращаться имя этого сервера вне зависимости от настройки load_balancing, т.е. балансировки, по сути, нет.
Если создать такую же Distributed таблицу на третьем сервере, на котором нет реплики test_table, то будет возвращаться случайным образом имя одного из серверов с репликой, что является для меня ожидаемым поведением.
Отсюда вопрос: как обойтись без третьего сервера в роли балансировщика, чтобы при отправке запроса на одну из реплик этот запрос перенаправлялся на случайную реплику?

Alex
20.07.2017
09:21:36
Сейчас никак, если у шарда одна из реплик локальная, всегда будет выбираться она.

Vsevolod
20.07.2017
09:26:22
хм, а вот можно ли в http интерфейсе компрессировать запросы zstd?

Aliaksandr
20.07.2017
11:15:08
насчет zstd не знаю, но gzip-ом нормально запросы компрессятся. Указываешь в заголовке запроса Content-Encoding: gzip и жмешь тело запроса с помощью gzip

Admin
ERROR: S client not available

Google

Dmitry
20.07.2017
11:16:56
и CH их поймет?

Aliaksandr
20.07.2017
11:17:22
да, мы так экономим траф при вставке данных в кликхаус
см https://github.com/yandex/ClickHouse/blob/37985d3cb8d14fa0cad7b9868930b9e3e5e6a412/dbms/src/Server/HTTPHandler.cpp#L352

Dmitry
20.07.2017
11:18:34
ok, учтем у себя.

Aliaksandr
20.07.2017
11:20:22
судя по исходникам, zstd для сжатия тела http-запросов не поддерживается, но ничто не мешает добавить такую поддержку )

Alex
20.07.2017
11:41:13
Можно указать в запросе параметр decompress, тогда ClickHouse будет рассчитывать, что тело сжато во внутреннем формате. Там можно использовать zstd.
Сжимать можно утилитой clickhouse-compressor, но это конечно менее удобно, чем gzip

Vsevolod
20.07.2017
12:40:10
gzip мне нафиг не нужен
он работает медленнее, чем слать несжатое по гигабиту

Dig
20.07.2017
13:36:56
Добрый день, постоянно растет число в такой ошибке:
2017.07.20 13:16:25.393475 [ 66 ] <Error> ZooKeeper: There are 100000 active watches. There must be a leak somewhere.
Сейчас 100000 active watches, за день на 10к прирост.
Что делать и кто виноват?

Alexey
20.07.2017
14:14:01
https://clickhouse.yandex/docs/en/table_engines/replication.html?highlight=force_restore_data#recovery-after-failures

GithubReleases
20.07.2017
15:20:52
https://github.com/yandex/ClickHouse/releases/v1.1.54259-testing was tagged


Alexey
20.07.2017
15:50:47
таблица ReplicatedReplacingMergeTree, 2 шарда 2 реплики, поверх нее есть Distributed-таблица. Когда мне нужно перелить месяц (в источнике данные поменялись), я дропаю июль например, и заливаю данные заново в Distributed. Проблема в том, что часть данных отбрасывается, видимо посчитав за дубли, вследствие чего данные заливаются не полностью, приходится пересоздавать таблицу. Как можно этого избежать?
как можно этого избежать с стороны кликхауса, не меняя скрипт? =)
похоже что это вот это вот:
Блоки данных дедуплицируются. При многократной записи одного и того же блока данных (блоков данных одинакового размера, содержащих одни и те же строчки в одном и том же порядке), блок будет записан только один раз. Это сделано для того, чтобы в случае сбоя в сети, когда клиентское приложение не может понять, были ли данные записаны в БД, можно было просто повторить запрос INSERT. При этом не имеет значения, на какую реплику будут отправлены INSERT-ы с одинаковыми данными. То есть, обеспечивается идемпотентность INSERT-ов. Это работает только для последних 100 вставленных в таблицу блоков.
странно, что он не дает записать блок еще раз, хотя партиция дропнута
поправил, чтобы скрипт писал в локальную таблицу, а не Distributed, вроде бы теперь вставляет правду


GithubReleases
20.07.2017
16:20:53
https://github.com/yandex/ClickHouse/releases/v1.1.54260-testing was tagged

Alexey
20.07.2017
16:24:04

Google

Тефтеля
20.07.2017
16:26:59
Всем привет, кликхаус заведется с одной репликой?)

Alexey
20.07.2017
16:34:56
У меня работает

Vladimir
20.07.2017
16:37:07
/unsubscribe yandex/ClickHouse

GithubReleases
20.07.2017
16:37:07

Vladimir
20.07.2017
16:37:29
/unsubscribe yandex/ClickHouse all

GithubReleases
20.07.2017
16:37:29

Vladimir
20.07.2017
16:37:41
/subscribe yandex/ClickHouse stable

GithubReleases
20.07.2017
16:37:41