@clickhouse_ru

Страница 660 из 723
Paul
17.09.2018
09:52:16
ок, допустим. а разворачивать и обновлять как? шефом или ручками?
шеф или ансибл. поверьте, вы не захотите обновлять хранилище данных в полностью автоматическом режиме без наблюдения оператора

Michal
17.09.2018
10:00:04
в принципе, ни клик, ни зукипер не предполагается масштабировать автоматически
Это как раз несколько ограничивает такое совсем "облачное" использование КХ, где масштабирование вверх/вниз должно происходить без переконфигурирования и конфигурация кластера / "облака" сильно динамична. В настоящее время КХ требует много "ручного" / "полуручного" конфигурирования, и конфигурацяи должна быть относительно статична. Поэтому всякие там кубернетисы мало что дают. В идеале конфигурация кластера наверное должна поддерживаться чем-то типа discovery service куда регистрируется каждый новый хост, и тогда автоматически начинает получает получать данные и запросы и подхватывая от соседей данные. В случае если какой-то хост падает / пропадет то куски которые на нём были должны скопироваться на какие-то другие хосты в кластере, чтобы обеспечить нужный replication factor. Но чтобы это нормально работало это должна "нативно" поддерживать сама база.

Denis
17.09.2018
10:05:50
зукипер не может это сделать?

Michal
17.09.2018
10:06:16
@milovidov_an вы не планируете что-то типа этого? ^^ КХ реально крут в процессинге данных, но вот с распределенностью у него не всё гладно. Идеально - это что-то типа кликхаус поверх торрнетов :) Когда части размазываются между участиниками сети в соответствии с представлением сети о том как должны быть "размазаны" данные :)

Google
Denis
17.09.2018
10:06:50
но это только для замены. а увеличить количество нод так не получится...

может, сделать хэш с маской значимых битов? тогда можно будет растить кластер в 2 раза, добавляя бит в маску.

Michal
17.09.2018
10:14:10
зукипер не может это сделать?
да вроде как service discovery на зукипере не сложно сделать.

Alex
17.09.2018
10:16:51
if (name == "FILEDSN" || name == "SAVEFILE" || name == "DRIVER") throw Exception("ODBC connection string has forbidden parameter", ErrorCodes::BAD_ODBC_CONNECTION_STRING);
С DSN у меня другая траба: Я делаю вот так select * from odbc('DSN=production', 'jobs') limit 100 но эти 100 строк кликхаус достаёт больше минуты. При том с той же тачки через isql production всё работает мгновенно. Куда компать?

Michal
17.09.2018
10:17:31
И как теперь быть?
https://clickhouse.yandex/docs/en/query_language/dicts/external_dicts_dict_sources/#example-of-connecting-postgresql

Michal
17.09.2018
10:18:57
И как теперь быть?
В смысле - попробуйте сконфигурировать DSN в системе, вместо указания драйвера в запросе.

Alex
17.09.2018
10:20:16
Так я это уже сделал. Всё работает, но очень медленно. Кликхаус достаёт 100 строчек больше минуты, а через системный isql всё мгновенно

Michal
17.09.2018
10:21:50
Alex
17.09.2018
10:24:06
хм..

ок, спс!

Google
Denis
17.09.2018
10:26:28
но почему? постгря же умеет лимит обрабатывать

Michal
17.09.2018
10:29:42
но почему? постгря же умеет лимит обрабатывать
Потому что кликхаус тоже умеет :) Скорее всего просто специфика того в какой последовательности обрабатывается запрос.

Alex
17.09.2018
10:34:56
Семантика запроса такая. odbc - табличная функция, которая возвращает поток данных. Чтобы запрос пробрасывался в нижележащий движок, нужна функция, в которую будет пробрасываться целиком запрос

Michal
17.09.2018
10:38:11
Хм. Интересная штуковина - кликхаус позволяет создавать/хранить состояния аггрегатных функций с -If. Только я не понимаю 1) зачем 2) как это потом использовать? :) Контекст: как оказалось между groupArrayStateIf и groupArrayIfState есть большая разница. Второе создает тип данных AggregateFunction(groupArrayIf, String, UInt8), на которым не понятно как сделать Merge. :)

Alexey
17.09.2018
10:39:35
на центосе сборка 18.12.14 от альтинити - в клиенте стрелки на клавиатуре не работают, печатаются символы: clickhouse-client ClickHouse client version 18.12.14. Connecting to localhost:9000. Connected to ClickHouse server version 18.12.14 revision 54407. 1clickhouse0004.ad.rambler.tech :) ^[[A^[[B^[[C^[[D

кто что может подсказать?

Michal
17.09.2018
10:42:41
the newest version 18.12.14 from Altinity seems has some problem, the auto complete function seems not work on clickhouse-client

Thank you for alert, we will investigate what's happened with the build (every time building clickhouse is a quest) and fix ASAP

Danil
17.09.2018
11:14:09
https://blog.jetbrains.com/datagrip/2018/08/15/datagrip-2018-2-2-clickhouse-support-and-bugfixes/
у меня базы показывает как схемы, а таблицы вообще не показывает. У всех так?

Kirill
17.09.2018
11:18:59
Кстати, в новых версиях КХ должна быть ручка чтоб он сам старые хосты переставал видеть как живые в ZK и не копил лог репликации и прочего после некого порога, что уже сильно проще для динамического развертывания типа в к8

Kirill
17.09.2018
11:30:01
В код кликхаус или поверх КХ?
Поверх КХ, сейчас форкать КХ и что-то делать отдельно весьма сомнительное решение.

Michal
17.09.2018
11:32:33
Поверх КХ, сейчас форкать КХ и что-то делать отдельно весьма сомнительное решение.
Ну я не в смысле форкать, а в смысле какое-нибудь allow_experimental_service_discovery = 1 и в основном бранче. Хотя вряд ли это легко воплотимо без очень серьезного раскапывания кода.

ReRo
17.09.2018
11:38:07
Кто-то использует JDBC драйвер? почему может возникать ошибка "ClickHouse response without column names" версия драйвера 0.1.41 версия сервера 18.10.3 (54405)

Kirill
17.09.2018
11:42:22
Ну я не в смысле форкать, а в смысле какое-нибудь allow_experimental_service_discovery = 1 и в основном бранче. Хотя вряд ли это легко воплотимо без очень серьезного раскапывания кода.
Да, есть такое, поэтому пока решение писать все рядом с основным функционалом, если пойдет хорошо, можно будет подумать о миграции части функционала в сам сервер

Michal
17.09.2018
11:48:29
Да, есть такое, поэтому пока решение писать все рядом с основным функционалом, если пойдет хорошо, можно будет подумать о миграции части функционала в сам сервер
Поддержка такой магии "внутри" была бы сильно здоровее чем наружняя "обертка". Если представить себе что около КХ ещё нужно поставить какого-то демона который будет как-то следить дополнительно за тем что происходит в кластере и править конфигурацию кластера "на лету" - как-то страшновато становится :) Хотя наверное реально всё - нужно только интенсивно взаимодествовать с зукипером и в конфигах повсеместно использовать from_zk=...

Google
Michal
17.09.2018
11:55:28
Ну сгенерить - полбеды, а как подменять? При том что некоторые изменения могут и рестарта требовать?

Kirill
17.09.2018
11:56:32
Ну сгенерить - полбеды, а как подменять? При том что некоторые изменения могут и рестарта требовать?
С рестартом как раз самое интересное, нужно расчитать что можно рестартить (учесть какие есть шарды и реплики) и каскадно запускать рестарт.

Alexander Nairashvili
17.09.2018
12:00:01
18.12.17 - есть changelog? Какая версия click на текущий момент является достаточно стабильной?

Michal
17.09.2018
12:00:43
Ну и кроме того если это не виртуалка, а железный сервер, то варианты типа "а давайте дадим этому демону права писать куда-то в /etc/ " звучат так себе. Наши ОПсы сильно возмущались уже тем что кликхаус пишет свои -processed.xml в /etc/.

Kirill
17.09.2018
12:03:22
Пока КХ нуждается в том чтоб файл конфигурации физически где то лежал на сервере, поэтому так. Вообще у нас в планах сильно больше чем просто возможность обновления конфигурации )

Michael
17.09.2018
12:08:53
Добрый день. Таблица с партиционированием по дню (PARTITION BY date). При создани бэкапа командой FREEZE за год появляется такая ошибка: user@ip-10-0-0-1:~# clickhouse-client --query="ALTER TABLE test.myTable FREEZE PARTITION '2018';" Received exception from server (version 1.1.54342): Code: 33. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: Cannot read all data. Аналогичный запрос для таблицы с партиционированием по умолчанию работает корректно. Подскажите, как можно решить проблему годового бэкапа? Возможно, как-то задать имени партиции в числовом формате (20180101) вместо строкового ('2018-01-01')

Paul
17.09.2018
12:13:15
коллеги, вопрос - насколько вероятны проблемы, если в одном кластере будут очень старый кликхауз и современный?

Michal
17.09.2018
12:15:57
коллеги, вопрос - насколько вероятны проблемы, если в одном кластере будут очень старый кликхауз и современный?
Если "очень старый" то весьма вероятны. В changelog есть информация про обратной совместимости.

Paul
17.09.2018
12:16:34
спасибо. Я хотел убедится. При реэкспорте в формате native проблем быть не должно?

Kirill
17.09.2018
12:17:39
спасибо. Я хотел убедится. При реэкспорте в формате native проблем быть не должно?
Могут не поддерживаться новые типы, если их не использовать то - ОК

Paul
17.09.2018
12:17:51
мне надо из старого в новый вытащить)

Kirill
17.09.2018
12:18:13
Из старого в новый должно работать

Michal
17.09.2018
12:19:10
Обычно прямая миграция на более новую версию возможна. Проблемы могут появляться если одновременно в кластере сильно разные версии живут.

Paul
17.09.2018
12:19:10
супер, спасибо

Denis
17.09.2018
12:42:17
у вас time_ все время разный, назовите по другому CREATE MATERIALIZED VIEW mtrades ENGINE = AggregatingMergeTree(EventDate, (isin_, time__), 8192) POPULATE AS select toDate(time_) as EventDate, isin_, toInt64(intDiv(toUInt32(time_), 60) * 60) AS time__ argMinState(price_, time__) as open_, argMaxState(price_, time__) as close_, sumState(abs(amount_)) as amount_, from trades GROUP BY EventDate, isin_, time__ select isin_, argMinMerge(open_) as open_, argMaxMerge(close_) as close_, sumMerge(volume_) as volume_, time__ from mtrades group by isin_, time__ https://clickhouse.yandex/docs/en/query_language/functions/date_time_functions/#tostartofminute

Андрей
17.09.2018
12:50:34
Подскажите пожалуйста, кто как организовывал обновление данных в КХ? Понятно, что для обновления данных можно использовать CollapsingMergeTree. Но как быть с удалением строк?

Google
Salim
17.09.2018
13:06:31
С ReplacingMergeTree вы будете получать фантомные записи

не будет возможности принудительно схлопнуть записи, у CollapsingMergeTree можно указать FINAL

Андрей
17.09.2018
13:08:56
а что вы хотите удалять?
Записи из источника данных

Slava
17.09.2018
13:09:48
не будет возможности принудительно схлопнуть записи, у CollapsingMergeTree можно указать FINAL
в ReplacingMergeTree вы тоже можете сделать FINAL вместе с OPTIMIZE TABLE и будет хорошо

Записи из источника данных
если у вас данные часто меняются по разным полям, то наверное вам не подойдет это решение, если данные можно перетирать по ключам, то это то, что вам нужно

по ключу будет происходит схлопывание данных, после схлопывания останется последняя пришедшяя строка по ключу

supplier | amount 1 | 100 1 | 50

если записи пришли в таком порядке, от останется только последняя после схловывания, это сильно упрощенный пример, но тем не менее

Андрей
17.09.2018
13:14:25
если у вас данные часто меняются по разным полям, то наверное вам не подойдет это решение, если данные можно перетирать по ключам, то это то, что вам нужно
По ключам перетирать можно, но что делать с записями, которые удаляются из таблицы-источника. Для update-insert есть вариант использовать триггеры и COPY TO PROGRAM, а вот насчет удалений не придумал

Slava
17.09.2018
13:14:26
мы для себя используем в подобном кейсе

Андрей
17.09.2018
13:14:57
ALTER TABLE DELETE?
не вариант, данных террабайты будут

Kirill
17.09.2018
13:20:31
наверное здесь как раз подойдет CollapsingMergeTree с досыланием -1 на нужные записи
Это не сильно лучше чем ALTER TABLE DELETE и очень сильно не гарантирует что данные будут удалены ;)

Slava
17.09.2018
13:21:41
Это не сильно лучше чем ALTER TABLE DELETE и очень сильно не гарантирует что данные будут удалены ;)
они ведь рано или поздно удалятся, как вы писали где-то, optimize final схлопаывает их принудительно)

Kirill
17.09.2018
13:23:36
они ведь рано или поздно удалятся, как вы писали где-то, optimize final схлопаывает их принудительно)
Когда-то удаляться, но это не точно. Плюс старые и большие куски могут долго не мержиться или не мержиться вовсе. Колапсом хорошо работать по достаточно новым данным

Salim
17.09.2018
13:24:10
OPTIMIZE дорогой процесс

и он не выполняется вместе с FINAL

Google
Salim
17.09.2018
13:25:08
FINAL на лету отдаст уже актуальные данные с учетом поля sign

Kirill
17.09.2018
13:28:12
Там обещают террабайты данных, можно никогда не дождаться SELECT с FINAL

Slava
17.09.2018
13:31:22
Там обещают террабайты данных, можно никогда не дождаться SELECT с FINAL
какое бы вы посоветовали решение для Андрея, в этом случае?

Kirill
17.09.2018
13:35:19
какое бы вы посоветовали решение для Андрея, в этом случае?
Не удалять ) Надо знать что за задача и детали, сейчас есть еоробочное решение через ALTER DELETE, нужно его смотреть, возможно есть лучшие решение, но нужно больше деталей как и что будет храниться.

Slava
17.09.2018
13:38:22
Не удалять ) Надо знать что за задача и детали, сейчас есть еоробочное решение через ALTER DELETE, нужно его смотреть, возможно есть лучшие решение, но нужно больше деталей как и что будет храниться.
кейсы чаще всего удалять, либо перезаписывать что-то, с ALTER не все так однозначно, а схлопнуть строки по условием, кажется простым решением, но только с артефактами)

Kirill
17.09.2018
13:40:30
кейсы чаще всего удалять, либо перезаписывать что-то, с ALTER не все так однозначно, а схлопнуть строки по условием, кажется простым решением, но только с артефактами)
Это не "конек" КХ, зачастую на практике проще перезалить партицию с откоректированными данными, но это тоже сильно редкие операции

Wolf
17.09.2018
13:51:32
@milovidov_an а на сколько стабильна уже 18 ветка? А то что не день то о каком то баге пишут, хотя не всегда конечно связано это именно с самим кх. Но проблем явно больше чем было раньше, хотя возможно просто больше людей в чате стало.

Vasily
17.09.2018
13:57:26
добрый день, уважаемые

требуется помощь

при загрузке данных через $ clickhouse-client -n < data.sql загрузка падает с errno: 28

причём места достаточно

и мониторю место при загрузке

но.. стоит подключиться с помощью strace к процессу clickhouse-server, то больше не падает

VERSION_FULL ClickHouse 18.12.14 VERSION_DESCRIBE v18.12.14-testing VERSION_GITHASH 84cde3429bec15028992497b3ab7e7a0fb53a253 VERSION_REVISION 54407

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