
Дмитрий
29.06.2018
08:57:29
разобрался...
SELECT
toDateTime('2018-06-29 10:05:34') AS test_datetime0,
toDateTime(toDateTime('2018-06-29 10:05:34', 'UTC')) AS test_datetime1,
toString(test_datetime0), toString(test_datetime1),
toTypeName(test_datetime0),toTypeName(test_datetime1),
cast(test_datetime0 as DateTime('UTC')),
test_datetime1-test_datetime0, 3*3600

?
29.06.2018
10:24:17

Alexei
29.06.2018
10:24:24
Всем привет! Столкнулся проблемой.. Странной проблемой.. Делаю insert from select из одной таблицы в другую (точно такую же по структуре). В результате в выходной таблице оказывается намного больше записей.. И этот insert не останавливается.. движок MergeTree. Если делать по частям(по месяцам например), то норм. Всего около 3 млд записей в исходной. Может кто сталкивался.

Google

Victor
29.06.2018
10:25:34
в пулл реквестах диффы почитайте, там и по докам

?
29.06.2018
10:30:49

Vitaliy
29.06.2018
11:47:57
а ALTER TABLE t DELETE WHERE для MergeTree будете делать?

Alex
29.06.2018
12:02:31
Да

Solresl
29.06.2018
12:15:16
приветствую.
Есть логи от веб-серверов в clickhouse, хочется из них получить метрики и работать уже с ними.
Есть конечно идея формировать их в таблицу под формат graphouse для graphite. Но может кто уже сталкивался или сам подобное осуществлял?

Diomid
29.06.2018
12:42:13
Подскажите пожалуйста, зачем в последней версии из мастера добавили новые 2 строчки в systemd для chown?
При статус running получаю
Process: 24018 ExecStartPre=/bin/chown clickhouse:clickhouse -R /etc/clickhouse-server (code=exited, status=0/SUCCESS)
Process: 24016 ExecStartPre=/usr/bin/chown clickhouse:clickhouse -R /etc/clickhouse-server (code=exited, status=203/EXEC)
Или все-таки одну можно было убрать просто?

Alexey
29.06.2018
16:16:32

prll
29.06.2018
16:43:57
И без полного пути нельзя написать

Alexey
29.06.2018
16:44:41
А через || ?
А можно оставить chown в init-скрипте? Он ведь продолжает работать?

prll
29.06.2018
16:46:16
Там же что-то умное что проверяет пути, про || не уверен

Alexey
29.06.2018
16:47:08
А что сейчас портится от (code=exited, status=203/EXEC)?

Google

prll
29.06.2018
16:49:41
Там же специальное игнорирование плохого результата

Alexey
29.06.2018
16:58:51
А это где написано?
ExecStartPre=-...
равно минус - это игнорирование?
/bin/sh -c 'chown ...' - а так нельзя написать?

Evgeny
29.06.2018
17:16:32
Господа, скажите ПЛЗ про движок JOIN. Я думал что я могу к нему джойниться и дальше делать запрос с участием полей, но ошибка говорит мне что нет Code: 48, e.displayText() = DB::Exception: Method read is not supported by storage Join, e.what() = DB::Exception

Evgeniy
29.06.2018
17:22:35
Подскажите, сделать materialized view над CollapsingMergeTree чтобы в коде приложения использовать уже свернутые данные нормальная схема?
Через какое время в представлении будут видны новые данные после вставки в основную таблицу?

Alexey
29.06.2018
17:26:30

Evgeny
29.06.2018
17:27:03
Там очень простой пример, я могу даже сюда
CREATE MATERIALIZED VIEW session_ads_by_pagetype ENGINE = Join(ALL, INNER, qksid, eventDate) POPULATE AS
SELECT DISTINCT eventDate, qksid, qpt as page_type, dt as viewed_ad_time
FROM logs2

Alexey
29.06.2018
17:27:53

Evgeny
29.06.2018
17:31:05
Понял. Сделаю - скину

Alexey
29.06.2018
19:01:36
@proller В init скрипте у нас делается много полезных вещей: проверка набора инструкций, chown директории с логами. См. https://github.com/yandex/ClickHouse/issues/1981#issuecomment-379131832
Происходит ли это при использовании systemd? Если нет - можем ли мы сделать, чтобы systemd просто запускала наш init скрипт?

Evgeniy
29.06.2018
19:56:23
Похоже нашел баг.
В ставляю 19 млн строк в таблицу CollapsingMergeTree
делаю select count() from table_name
Получаю 10 млн.
В ставляю еще 19 млн. Ожидаю 38 млн.
Получаю 7 млн.
Каждый раз количество строк разное.
Делаю select count() from stat2.purchase FINAL
Получаю 171.
С ReplacingMergeTree та же история.
Если движок MergeTree - работает как надо.

Alexey
29.06.2018
19:57:44

Evgeniy
29.06.2018
20:01:51

Michal
29.06.2018
20:09:57
Алексей, а есть какие-то простые признаки того что можно, а чего нельзя в матвью? Внешние джойны , подзапросы?
Т.е. например если будет обработка каждого блока заинсертованых данных но в сложносочиненном селекте где исходные данные будут собираться из подселекта и потом допиливаться функциями высшего порядка собираться в массивы и потом разбираться обратно с помощью array join?

Alexey
29.06.2018
20:16:55
Алексей, а есть какие-то простые признаки того что можно, а чего нельзя в матвью? Внешние джойны , подзапросы?
Следует воспринимать их как триггеры на INSERT. То есть, как штуку, которая делает какие-то вычисления над каждым вставляемым блоком.
Из этого всё следует. Например, JOIN можно, но лучше несложный, так как он будет выполняться при каждой вставке. ARRAY JOIN, функции высшего порядка - не проблема. Подзапросы - в секции FROM должно быть Ок, в IN - лучше несложные.


Denis
30.06.2018
23:01:53
А насколько атомарен insert ?
Я загрузил ~15млн. строк в TinyLog таблицу, затем
set max_block_size = 15085455 (по числу строк во временной)
set max_insert_block_size = 15085455
insert into fact.... select ... from tmp_TinyLog join ...... этот insert упал DB::Exception: Memory limit (for query) exceeded
в таблицу fact загрузилось ~5млн. строк из 15.
(все в одной сессиий через clickhouse-client)
Таблица просто MergeTree, партиционирована по двум полям (account, toYYYYMM(
инсерт вставляет сразу в 30 партиций (30 разных account).
ClickHouse server version 1.1.54388.

Google

Yuran
01.07.2018
16:02:10
Вроде бы insert атомарен до 1 000 000 строк
Впрочем, это относится к движкам *MergeTree

Vladimir
01.07.2018
16:06:51
Может кто видит почему ругаеться КХ
ENGINE = ReplicatedMergeTree('/clickhouse/tables/metrics/{shard}/Metrics', '{replica}')
PARTITION BY (floor(timestamp/86400)) ORDER BY (appId, metricId, timestamp)
SAMPLE BY (appId, metricId, timestamp);
Sampling expression must be present in the primary key
Согласно этому https://github.com/yandex/ClickHouse/blob/master/dbms/src/Storages/MergeTree/MergeTreeData.cpp#L125
Должно работать вроде

Alexey
01.07.2018
16:19:20

Vladimir
01.07.2018
16:19:45
ага
спсб

Alexey
01.07.2018
16:20:02
https://yandex.github.io/clickhouse-presentations/rit2018/#
- вначале.

Vladimir
01.07.2018
16:20:26
metricId в моем случае получается
спсб за презентацию

Vladislav
01.07.2018
22:06:39
Привет) А кто-нибудь в курсе как можно в CH сделать show сессионной переменной? Хочу посмотреть с каким user_profile сессия установлена.

Алексей
02.07.2018
03:32:55
/stat@combot

Combot
02.07.2018
03:32:55
combot.org/c/-1001080295593

Николай
02.07.2018
06:36:31
Подскажите по clickhouse, хочу использовать его как time series database. У меня собираются счетчики по 250 000 портам 4 раза в час. Это уже 24 миллиона записей в месяц. За год это будет 720 000 000 записей. Я думаю нам места таким образом не хватит. Раньше мы использовали RRD для этих целей, он столько места не занимал и была возможность посмотреть графики за год-два, сейчас просто RRD не справляется. Можете что-нибудь посоветовать по данной проблеме?

Dmitry
02.07.2018
06:37:03
NOC ?
укладывается в clickhouse, достаточно компактно

Николай
02.07.2018
06:39:01
NOC ?
Можно ссылку, пожалуйста, или расшифровку?

Dmitry
02.07.2018
06:39:20
давайте в личку

Google

Dmitry
02.07.2018
06:39:54
https://code.getnoc.com/noc/noc

Michal
02.07.2018
08:24:52

Egor
02.07.2018
09:00:42
всем привет. объём базы КХ растёт, и бэкапить его селектом уже не представляется возможным. как быть? м.б. LVM-снапшот?

Wolf
02.07.2018
09:01:24
а в чем проблема селектом только новый день скажем забирать ?

Egor
02.07.2018
09:01:47
а остальное?

papa
02.07.2018
09:04:51
а остальное бекапить вчера

Michal
02.07.2018
09:08:31

Egor
02.07.2018
09:08:51
наверное потому что ничего не знаю про это
щас почитаю

Victor
02.07.2018
09:09:11
на highload.ru была статья по бекапам, емнип

Stanislav
02.07.2018
09:14:17
А там было про бекапы зукипера вместе с кх?
Просто сейчас лично у меня есть проблемы с пониманием, как восстанавливать весь кластер из бекапа...

Wolf
02.07.2018
09:15:04
а остальное?
ну каждый день бекапите предыдущй в итоге у вас есть все дни
какое тут остальное ?

Michal
02.07.2018
09:18:20

Stanislav
02.07.2018
09:18:55
Я хочу защититься от случая падения зукипера
Вместе с датацентром :-)
Просто у меня уже был случай съезжания крыши у зукипера и не хотелось бы повторять.

Wolf
02.07.2018
09:27:54

Stanislav
02.07.2018
09:28:43
Возможны проблемы со связностью в сильно распределённом зукипере...

Google

Wolf
02.07.2018
09:29:44
ну вы не сильно распределяйте по чуть чуть

Vladislav
02.07.2018
09:34:16
Ну я по настройкам могу посмотреть, да, но самого профиля там нет :(
SELECT * FROM system.settings WHERE changed = 1 ?
Собственно сам вопрос следующий — пользуюсь версией 1.1.54385. Проставил пользователю <profile> и захожу им сначала через native интерфейс (clickhouse-client использую) — вижу настройки профиля, захожу через http интерфейс (использую clickhouse-cli от hatarist) — вижу дефолтные настройки... Такое ощущение, что <profile> при обращении через http не применяется и <readonly> пользователь становится не readonly

Michal
02.07.2018
09:55:25

Vasilij
02.07.2018
10:01:06
Привет!
Используется кворумная запись, для чтения стоит по дефолту select_sequential_consistency=1. После перехода на следующий месяц (партиционирование таблицы по месяцам), предыдущий перестал попадать в результаты селекта (но никаких ошибок не кидает). Ставим select_sequential_consistency=0 - данные видны. Запись идет нормально. Это баг или мы что-то неверно настроили?

Vladislav
02.07.2018
10:09:32


Nickolay
02.07.2018
10:10:06
Кто-то может подскажет best practice алгоритм по расширению кластера (добавление нового шарда)?
Текущий кластер:
<main_cluster>
<shard>
<weight>1</weight>
<internal_replication>false</internal_replication>
<replica>
<host>ch-1-1</host>
<port>9000</port>
</replica>
<replica>
<host>ch-1-2</host>
<port>9000</port>
</replica>
</shard>
<shard>
<weight>1</weight>
<internal_replication>false</internal_replication>
<replica>
<host>ch-2-1</host>
<port>9000</port>
</replica>
<replica>
<host>ch-2-2</host>
<port>9000</port>
</replica>
</shard>
</main_cluster>
такой алгоритм "сломает" кластер?
- создать все таблицы на новом шарде
- добавить на все сервера (начиная с серверов нового шарда)
<shard>
<weight>1</weight>
<internal_replication>false</internal_replication>
<replica>
<host>ch-3-1</host>
<port>9000</port>
</replica>
<replica>
<host>ch-3-2</host>
<port>9000</port>
</replica>
</shard>
Нужно ли пересоздавать Distributed таблицы на "старых" шардах?


Wolf
02.07.2018
10:13:43
не нужно

Nickolay
02.07.2018
10:28:08
не нужно
т.е. воссоздать схему на новых и добавить их в конфигурацию кластера достаточно безопасное действие? версия КХ 1.1.54385 сама подхватит новый шард или требуется перезапуск?

Wolf
02.07.2018
10:29:04
безопасно
насколько помню само подхватывает конфиг кластера

Nickolay
02.07.2018
10:30:14
спасибо

Sergei
02.07.2018
11:02:24
Добрый день! подскажите пожалуйста, есть ли готовые инструменты для создания схемы таблицы на основе protobuf описания и драйвер, который может лить данные из протобуфа?