@clickhouse_ru

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

Denis
23.05.2018
16:00:26
То естЬ, такой штуки, как CopyManager, CopyIn и CopyOut при операции COPY в PostgreSQL нет?
нет, лучше используйте http https://clickhouse.yandex/docs/en/interfaces/http_interface/ для массовой заливки из джавы.

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
На какие значения из system.asynchronous_metrics и system.metrics целесообразно иметь триггеры в мониторинге, кроме ReadonlyReplica? Кластерная установка с ZK.
мы мониторим количество несмерженных частей в табличках но это не в metrics, а запросом в system.parts можно еще смотреть ZookeeperException, DelayedInserts, RejectedInserts,

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
при создании матвьюхи с AggregatingMergeTree по уже существующей непустой таблице, как агрегировать старые данные? понимаю, что вопрос простой, но почему-то не нашел ответа. всем привет.
У команды создания матвью есть опция POPULATE. Только нужно будет перед её запуском остановить запись в исходную таблицу. За подробностями в доку

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

Tatiana
23.05.2018
16:46:39
Привет. DDL запросы могут работать без zookeeper’a?
DDL запросы работают без зукипера. Если хотите с зукипером, то надо дописывать ON CLUSTER

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
DDL запросы работают без зукипера. Если хотите с зукипером, то надо дописывать ON CLUSTER
Если не указывать ON CLUSTER например при создании таблицы она создаться только на ноле, на которой выполняется. Как создать во всем кластере таблицу?

А вообще вопрос возможно ли репликация встроенными средствами без 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

А так тоже не работает?

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 было бы неплохо сделать, часть параметров вполне себе можно менять

Спасибо! А где найти RejectedInserts? Почему-то не вижу.
Как начнете ловить "Too many parts" они и появятся

На какие значения из system.asynchronous_metrics и system.metrics целесообразно иметь триггеры в мониторинге, кроме ReadonlyReplica? Кластерная установка с ZK.
В system.asynchronous_metrics MaxPartCountForPartition (подробно в system.parts) В system.asynchronous_metrics Replicas* (подробно в system.replication_queue) В system.events MarkCacheMisses/MarkCacheHits. Если много промахов стоит проверить вкючен ли use_uncompressed_cache или поднять uncompressed_cache_size

Alexey
23.05.2018
19:56:40
спс! попробую

со всеми настройками из MergeTreeSettings.h можно так сделать?

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

Kirill
24.05.2018
04:02:03
со всеми настройками из MergeTreeSettings.h можно так сделать?
Нет, например если вы поменяете index_granularity то у вас будут "невидны" какие-то "рандомные" данные

Google
Kirill
24.05.2018
04:04:49
есть смысл уменьшить максимальный размер куска? мержей станет меньше вроде
Меньше, но он так же остановиться и начнет кричать что кусков много, возможно есть смысл чуть уменьшить parts_to_delay_insert - это порог после которого КХ "притормаживает" запись

Леонид
24.05.2018
04:12:04
Что делать с ошибкой "Too many parts (300). Merges are processing significantly slower than inserts.", если я подключил новуб пустую реплику, она скачивает сейчас 5Т (в том числе 3.5Т эта таблица) с другой реплики, и идет вставка текущих данных.
Столкнулись с подобной проблеммой. Решилась через запись в buffer таблицы. В них можно вставлять сколько угодно как угодно данные, а дальше уже движок будет разбирать и мерджить.

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

Egor
24.05.2018
04:17:00
Есть issue на GitHub ?
Есть, но мне кажется что я его криво написал =) так как нет ответа

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

Столкнулись с подобной проблеммой. Решилась через запись в buffer таблицы. В них можно вставлять сколько угодно как угодно данные, а дальше уже движок будет разбирать и мерджить.
Там не тот случай, там КХ снуля синкается, обычно он в этот момент съедает доступную сеть и диск. В этот момент лучше вообще ничего в него дополнителько не писать, т.к. он и так мучает железяку.

Egor
24.05.2018
04:21:47
https://github.com/vavrusa в копию там поставьте, но у них этой проблемы (мало данных) вообще нет. Скиньте ссылку на issue, будет время посмотрю
Там тоже нет ничего, просто описание. и на какой версии работало, там где рпс около 5к то все записывается, но когда всего 150-200 то записи сбрасываются редко (хотя запросы в сторону кликхауса идут)

Kirill
24.05.2018
04:22:07
OK

Alexey
24.05.2018
06:38:19
Можно поменять в config.xml и рестартовать КХ <merge_tree> <parts_to_throw_insert>500</parts_to_throw_insert> </merge_tree>
Спасибо еще раз, реплики за ночь всосали в себя по 5 терабайт как я пиво в пятницу вечером, ураганом)))

Павел Максимов
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
мы год назад с этим столкнулись, но не шмогли, пришлось во внешней считалке сессии считать и в отдельную таблицу писать

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

Daniel
24.05.2018
09:17:33
Всем привет, а как узнать размер БД на диске ?
SELECT table, formatReadableSize(sum(bytes)) AS size, min(min_date) AS min_date, max(max_date) AS max_date FROM system.parts WHERE active GROUP BY table;

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

Google
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
По идее для этой задачи очень хорошо подойдет: https://clickhouse.yandex/docs/en/single/#timeslotsstarttime-durationhttps://clickhouse.yandex/docs/en/single/#timeslotsstarttime-duration
А если сессия начнется в 12:10? Она должна закончится не раньше 12:40, то есть попадает в два таймслота, или я что-то не понял?

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
ну или так clickhouse-client —query="select count(*) from table"
Вот так с переводом строки оно не срабатывает, я ищу аналог как в hive

сlickhouse-client —multiquery < request.sql
Сюда же я могу прикрутить перенаправление вывода «>» в файл да?

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
спасибо

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

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

Леонид
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 выбирается одна на кластер?

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 линии, то рисует только треть. кажется я знаю как сделали такой баг :)

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