
Евгений
23.05.2018
15:59:16
Привет. DDL запросы могут работать без zookeeper’a?

Denis
23.05.2018
16:00:26

Daniel
23.05.2018
16:07:32
На какие значения из system.asynchronous_metrics и system.metrics целесообразно иметь триггеры в мониторинге, кроме ReadonlyReplica? Кластерная установка с ZK.

Vladimir
23.05.2018
16:14:17
private static String INSERT_QUERY = "INSERT INTO test_tbl(a, b, c) " +
"FORMAT TSV\n" +
"a1\tb1\tc1\n" +
"a2\\ttab\tb2\tc2\n" +
"a3\tb3\tc3\n";

Google

Vladimir
23.05.2018
16:14:25
отработало в JDBC-дровах

Vladislav
23.05.2018
16:17:42

Daniel
23.05.2018
16:18:37

Vladislav
23.05.2018
16:19:59
ProfileEvents.RejectedInserts
ни разу не видел >0, Delayed - очень редко
ну еще у нас просто графики по количеству Insert, Select, Merge

Daniel
23.05.2018
16:23:25
Благодарю. Скорее всего не вижу, потому что локальный стендэлон ch смотрю. Эти метрики появляются только если кластер?
Ибо наш тестовый кластер сейчас в лежащем цоде ?

Vladislav
23.05.2018
16:30:27
честно говоря не знаю, да в стенделоне не вижу
мы используем встроенный <graphite> на продакшене

nikita
23.05.2018
16:34:37
при создании матвьюхи с AggregatingMergeTree по уже существующей непустой таблице, как агрегировать старые данные? понимаю, что вопрос простой, но почему-то не нашел ответа. всем привет.

Tima
23.05.2018
16:38:06

nikita
23.05.2018
16:40:26
спасибо!

Tatiana
23.05.2018
16:46:39

Vladimir
23.05.2018
16:54:23
Господа, а сейчас ЧЯДНТ?
echo "drop table if exists test_tbl;" | curl -X POST -H 'Content-Type: text/plain; charset=utf-8' -H 'Transfer-Encoding: identity' 'http://localhost:8123/'
Code: 381, e.displayText() = DB::Exception: There is neither Transfer-Encoding header nor Content-Length header, e.what() = DB::Exception
tcpdump: https://pastebin.com/mr9nzJFB

Google

Vladimir
23.05.2018
16:58:53
Всё, кажись понял.

Евгений
23.05.2018
16:59:30
А вообще вопрос возможно ли репликация встроенными средствами без zookeeper

Vladimir
23.05.2018
17:04:39
cat insert.sql | curl -d@- -X POST -H 'Content-Type: text/plain; charset=utf-8' 'http://localhost:8123/'
Code: 73, e.displayText() = DB::Exception: Unknown format TSVa1, e.what() = DB::Exception
cat insert.sql
INSERT INTO test_tbl(a, b, c) FORMAT TSV
a1 b1 c1
a2\ttab b2 c2
a3 b3 c3
А так тоже не работает?

Tatiana
23.05.2018
17:22:14

Alexey
23.05.2018
17:48:40
Что делать с ошибкой "Too many parts (300). Merges are processing significantly slower than inserts.", если я подключил новуб пустую реплику, она скачивает сейчас 5Т (в том числе 3.5Т эта таблица) с другой реплики, и идет вставка текущих данных.
можно ли поднять это колво - 300?
чтоб не ругалось
в обычном режиме оно работает вполне нормально

Tima
23.05.2018
18:47:18

Kirill
23.05.2018
19:05:22
можно ли поднять это колво - 300?
При создании таблицы можно указывать в SETTINGS parts_to_throw_insert, но налету менять, насколько мне известно, нельзя. Хотя, как мне кажется, ALTER TABLE T SETTINGS было бы неплохо сделать, часть параметров вполне себе можно менять

Alexey
23.05.2018
19:40:25

Tatiana
23.05.2018
19:56:12

Alexey
23.05.2018
19:56:40
спс! попробую
со всеми настройками из MergeTreeSettings.h можно так сделать?

Tatiana
23.05.2018
20:01:27
думаю да

Kirill
24.05.2018
04:02:03

Google

Kirill
24.05.2018
04:04:49

Леонид
24.05.2018
04:12:04

Egor
24.05.2018
04:13:33
Случайно никто не решил проблему связки kafka->mview->mergetree ? Если данных мало приходит , то вставка в mergetree происходит долго (3-7 минут)

Kirill
24.05.2018
04:16:39

Egor
24.05.2018
04:17:00

Kirill
24.05.2018
04:18:48
https://github.com/vavrusa в копию там поставьте, но у них этой проблемы (мало данных) вообще нет. Скиньте ссылку на issue, будет время посмотрю

Egor
24.05.2018
04:21:47

Kirill
24.05.2018
04:22:07
OK

Alexey
24.05.2018
06:38:19

Павел Максимов
24.05.2018
08:51:04
Всем привет. Помогите ребята, есть колонка последовательности посещения пользователем сайта datetime, нужно разделить их по сессиям, если между временем посещения прошло больше 30 минут например. Как это сделать?
я понял кажется, как это реализовать

?
24.05.2018
08:55:34
поделитесь

Павел Максимов
24.05.2018
08:56:07
Ок, как напишу запрос

Mike
24.05.2018
09:04:57
мы год назад с этим столкнулись, но не шмогли, пришлось во внешней считалке сессии считать и в отдельную таблицу писать

Konstantin
24.05.2018
09:11:28
По идее для этой задачи очень хорошо подойдет:
https://clickhouse.yandex/docs/en/single/#timeslotsstarttime-durationhttps://clickhouse.yandex/docs/en/single/#timeslotsstarttime-duration

Артем
24.05.2018
09:16:40
Всем привет, а как узнать размер БД на диске ?

Daniel
24.05.2018
09:17:33

Stas
24.05.2018
09:18:13
коллеги, подскажите набор аргументов для clickhouse-client что бы прочитать запрос из файла sql и записать результат в .csv

Google

Артем
24.05.2018
09:19:31

Victor
24.05.2018
09:21:58
Друзья, скажите, пожалуйста.
Хочу начать познавать кликхаус.
На условных 100 строчках в таблице - не интересно.
Но есть база MySQL, около 10 таблиц, от 1кк до 10кк записей в каждой, таблицы не сложные, статистические данные. В текущей структуре выборки - 99% джойны и фильтрация по ID.
Хочу в КХ это перегнать.
Условного VPS на SSD + 2Гб оперативы хватит чтобы это как-то шевелилось или серьёзней надо?

Wolf
24.05.2018
09:22:30
это зависит от запросов чисто
просто положить данные конечно хватит

Mike
24.05.2018
09:25:48

Wolf
24.05.2018
09:28:43

Stas
24.05.2018
09:29:29
точнее даже так - может ли стандартный клиент вообще читать запрос из файла

Wolf
24.05.2018
09:31:13
может

Victor
24.05.2018
09:31:16
да я тут уже пару недель за чатом слежу.
Мне пока без особых изысков, но данные повторяющиеся, на MySQL в проде до Тб может выйти.
А в КХ это всё более компактно должно выйти.
Подкупает колоночностью, сжатием и встроенными функциями, которые на MySQL надо самому изобретать

Wolf
24.05.2018
09:31:18
там даже мультиквери есть

Stas
24.05.2018
09:36:09
может
а опция какая? я не нашел

Wolf
24.05.2018
09:37:40
сlickhouse-client —multiquery < request.sql
ну или так
clickhouse-client —query="select count(*) from table"
в целом это все есть в любом sql клиенте
что мускул что постгрес

Stas
24.05.2018
09:50:54

Wolf
24.05.2018
09:52:35
можете

Павел Максимов
24.05.2018
09:58:00
SELECT
DateTime, SessionNum
FROM(
SELECT
DateTimes,
arrayPushFront(arrayCumSum(SessionNum_), 0) as SessionNums
FROM(
SELECT
DateTimes,
arrayMap(x -> if(x > 3600, 1, 0), Intervals) as SessionNum_
FROM(
SELECT
['2017-01-01 00:00:00','2017-01-01 00:30:00','2017-01-01 02:00:00','2017-01-01 02:10:00','2017-01-01 05:10:00','2017-01-01 06:00:00'] as DateTimes,
arrayMap(x, y -> toDateTime(y) - toDateTime(x), arrayPopBack(DateTimes), arrayPopFront(DateTimes)) as Intervals
)
)
)
ARRAY JOIN
DateTimes as DateTime,
SessionNums as SessionNum
Вот такое решение получилось

Google

Павел Максимов
24.05.2018
10:00:37
Это разделение посещений пользователя по сессиям при условии, что время между сессиями 3600 секунд

?
24.05.2018
10:08:51
спасибо

Mike
24.05.2018
10:11:09
SELECT
DateTime, SessionNum
FROM(
SELECT
DateTimes,
arrayPushFront(arrayCumSum(SessionNum_), 0) as SessionNums
FROM(
SELECT
DateTimes,
arrayMap(x -> if(x > 3600, 1, 0), Intervals) as SessionNum_
FROM(
SELECT
['2017-01-01 00:00:00','2017-01-01 00:30:00','2017-01-01 02:00:00','2017-01-01 02:10:00','2017-01-01 05:10:00','2017-01-01 06:00:00'] as DateTimes,
arrayMap(x, y -> toDateTime(y) - toDateTime(x), arrayPopBack(DateTimes), arrayPopFront(DateTimes)) as Intervals
)
)
)
ARRAY JOIN
DateTimes as DateTime,
SessionNums as SessionNum
#faq

Павел Максимов
24.05.2018
12:22:17
Как победить ограничение в функции SequenceMatch ?

Леонид
24.05.2018
12:38:24
Подскажите, у UNION ALL есть какие-то особенности в работе, или он как положенно объединяет результаты запросов?
в частности интересует, LIMIT после UNION - он отнесется к последнего подзапросу, или целиком объединение "обрежет"?

Yuri
24.05.2018
12:38:46

Леонид
24.05.2018
12:39:26
типа
(select * ...) union all (select * ...) order by limit
?

Yuri
24.05.2018
12:40:17
не, (select * ... union all select * ...) ORDER LIMIT

Daniel
24.05.2018
13:33:36
то есть получается, что у каждого шарда одна из реплик должна быть LeaderReplica? или LeaderReplica выбирается одна на кластер?

Wolf
24.05.2018
13:34:45

Daniel
24.05.2018
13:38:26
Одна на реплику
мне кажется, вы путаете шарды и реплики. шард состоит из реплик.
у меня до перезапуска серверов кластера с 3 шардами было по одному LeaderReplica среди реплик каждого шарда, то есть в сумме на кластер 3 LeaderReplica и это согласовалось.
после перезапуска всех серверов LeaderReplica только одна. при этом реплики все в нормальном режиме, в ReadonlyReplica никто не вывалился.
вот и интересно, всё же что-то сломалось или я не правильно понимаю, как выбираются LeaderReplica

Wolf
24.05.2018
13:41:27
Ну да это я и имел ввиду
Реплики вообще не знают что у вас там в конфиге кх написано про шарды и реплики
У них общего только путь в зукипере

molo4ko
24.05.2018
13:43:47
Нет новостей по апдейтам?

Daniel
24.05.2018
13:43:54
ага, а это идея. может серваки с кликхаусом поднялись раньше серваков с зукипером. сейчас попробую перезапустить сервисы кх

nikoinlove
24.05.2018
13:55:41
а не знаете почему у меня табикс ровно половину графика рисует?)
если сделать дату побольше, то будет все равно половина, но с другой датой
в таблице ответа данные есть полные, а на картинке только половинка
о, если сделать 3 линии, то рисует только треть. кажется я знаю как сделали такой баг :)