@clickhouse_ru

Страница 33 из 723
Alexander
09.12.2016
15:05:47
libc6 не заменишь же

Andrew
09.12.2016
15:06:04
собери пакет под 16.04 и будет тебе счастье

nikoinlove
09.12.2016
15:06:47
можешь поправить зависимость и рассказать нам что сломалось потом

Alexander
09.12.2016
15:53:00
оказывается, в этом гайде https://clickhouse.yandex/#download надо было вместо deb http://repo.yandex.ru/clickhouse/trusty прописать deb http://repo.yandex.ru/clickhouse/xenial

Google
Alexander
09.12.2016
15:53:04
и все станет хорошо

точнее встанет хорошо

Alexander
09.12.2016
16:16:35
а можно в CH как-то разбить значения поля по диапазонам (размеры файлов) и затем посчитать для них статистику(это понятно что можно)? или разбивать надо руками?

f1yegor
09.12.2016
16:18:17
а default expressions поддерживаются при импорте из json?

CREATE TABLE default.test ( id String, ts UInt64, date Date DEFAULT toDate(CAST((ts / 1000) AS UInt64))) ENGINE = MergeTree(date, (date, id), 8192);

insert into test (id, ts) values ('1', 1472604916259)

SELECT * FROM test ┌─id─┬────────────ts─┬───────date─┐ │ 1 │ 1472604916259 │ 2016-08-31 │ └────┴───────────────┴────────────┘

Alexander
09.12.2016
16:20:25
как-то странно что этот чат у меня обновляется только в мобильном telegram-клиенте

Igor
09.12.2016
16:26:46
а default expressions поддерживаются при импорте из json?
неа > JSONEachRow > При этом, в качестве значений по умолчанию используются нули, пустые строки и не поддерживаются сложные значения по умолчанию, которые могут быть заданы в таблице.

papa
09.12.2016
16:43:29
а можно в CH как-то разбить значения поля по диапазонам (размеры файлов) и затем посчитать для них статистику(это понятно что можно)? или разбивать надо руками?
эквивалент width_bucket изображается легко, произвольную сетку через multiIf тоже можно сделать, хоть и длинновато получится. встроенных функций по-моему нет, для обоих случаев.

Igor
09.12.2016
16:45:07
я недавно нашел встроенную, которая человекопонятные размеры в байтах делает ))

че-нибудь типа такого SELECT extract(formatReadableSize(size), '[a-zA-Z]+') AS size_, count() AS c, sum(size) AS s FROM files GROUP BY size_ ORDER BY size_;

или через CASE/multiIf, да SELECT CASE WHEN size BETWEEN 0 AND 1024 THEN '0-1 KB' WHEN size BETWEEN 1024+1 AND 1024*10 THEN '1-10 KB' WHEN size BETWEEN 1024*10+1 AND 1024*100 THEN '10-100 KB' WHEN size BETWEEN 1024*100+1 AND 1024*200 THEN '100-200 KB' ELSE 'too large' END AS size_, count(), sum(size) FROM files GROUP BY size_

Google
papa
09.12.2016
16:52:37
выглядит как sum(f1)

Arthur
09.12.2016
17:49:58
Вопрос к тем, кто использует кликхаус в докере, как вы решаете проблему с логами? По дефолту сервер в контейнере запускается без --daemon, которая переключает stdout на логфайлы из конфига, получается достать логи можно только через docker logs, и как организовать их ротацию и хранение непонятно. А если добавить --daemon в строчку запуска сервера, то контейнер не взлетает без каких-либо сообщений.

Anatoly
09.12.2016
18:03:27
Arthur через docker log driver

Arthur
09.12.2016
18:04:37
Спасибо, изучу вопрос)

Anatoly
09.12.2016
18:04:51
https://docs.docker.com/engine/admin/logging/overview/

Igor
11.12.2016
20:51:51
Благодаря сообществу, guiclickhouse.smi2.ru стал поддерживать английский язык, спасибо a5i за pull request )

thx, поправил )

Alex
11.12.2016
21:08:23
Привет

??
11.12.2016
21:08:28
??

Alex
11.12.2016
21:08:46
А уже есть слой совместимости кликхауса с графаной?

Насколько я понимаю - агрегация в бэкграунде есть

Igor
11.12.2016
21:10:08
https://github.com/lomik/graphite-clickhouse + carbonapi

grafana?

не графит

Через слой совместимости с графитом

а на прямую графану с кх никто не связывал?

Нужно плагин писать под графану

Alex
11.12.2016
21:10:56
Угу, все ясно, спасибо

Без гоулэнга не обошлось :(

Google
Maxim
11.12.2016
21:25:09
а ты его внезапно разлюбил?

Alex
11.12.2016
21:25:28
Угу

Не то чтобы совсем внезапно, но да

Maxim
11.12.2016
21:25:41
чего так?

Alex
11.12.2016
21:25:52
Я на нем довольно долго писал за деньги

これはスタスか…ロマンですか
11.12.2016
21:40:38
so, what is clickhouse bad at, in which cases it's is definitely a very bad choice?

Vladimir
11.12.2016
22:18:50
Без гоулэнга не обошлось :(
Да там весь код простой довольно

f1yegor
11.12.2016
22:39:07
Можно таски которые METR-* in github писать немного более развернутое описание?

Alexey
12.12.2016
00:22:49
so, what is clickhouse bad at, in which cases it's is definitely a very bad choice?
1. OLTP workload. 2. key-value workload: high amount of very simple queries. 3. Using as document/BLOB store for unstructured data.

Митап по ClickHouse уже послезавтра. На этот раз будем говорить про перспективы развития продукта. Записывайтесь, если вы уже контрибъютор или если вы хотите им стать. https://events.yandex.ru/events/meetings/14-dec-2016/

Alexander
12.12.2016
11:19:39
Видео будет с митапа?

Igor
12.12.2016
11:36:55
а это ок, что ipv6/uuid функций нет в injective_function_names? вообще, что обозначает injective? значение конвертируется еще на клиенте и сервер не тратит CPU на перекодирование?

papa
12.12.2016
11:47:36
injective означает, что функция сохраняет отличия, т.е. x!=y => f(x)!=f(y). используется для оптимзации запросов, например select f(x)... group by f(x) => select fx) ... group by x

isdown
12.12.2016
11:50:17
Hello, clickhouse join is a hash join or sort merge join? And why so?

Igor
12.12.2016
11:53:47
а можно еще глупый вопрос по поводу работы с partition'ами? понадобилось исправить данные в таблице mergetree за декабрь. я могу сделать так, без DROP или ATTACH'а? ALTER TABLE corrupted_table DETACH PARTITION 201612; INSERT INTO corrupted_table SELECT * FROM correct_table; (в correct_table данные только за декабрь, конечно)

Виктор
12.12.2016
13:00:22
Вроде да

Igor
12.12.2016
14:55:28
ой, как раз хотел предложить синонимы для функций и типов данных )

Google
Alexey
12.12.2016
14:56:01
Для агрегатных функций, кстати, уже сделали.

а это ок, что ipv6/uuid функций нет в injective_function_names? вообще, что обозначает injective? значение конвертируется еще на клиенте и сервер не тратит CPU на перекодирование?
Ещё вспомнил, что функции преобразования UUID, а также hex/unhex (но только для строк) являются монотонными. Это используется для анализа индекса. Если x в первичном ключе и функция f монотонна на каком-то диапазоне, то индекс может работать, даже если написать условие на f(x). См. IFunction::getMonotonicityForRange и примеры в коде... Вот простейший пример, как обозначить, что функция везде монотонна: Monotonicity getMonotonicityForRange(const IDataType & type, const Field & left, const Field & right) const override { return { true }; }

Pavel
12.12.2016
20:58:21
Hello, clickhouse join is a hash join or sort merge join? And why so?
It is hash join. Right part of join should be less than memory. Hash join is faster but require enough memory.

Konstantin
13.12.2016
07:17:58
как можно полечить ошибку: "Exception on client: Code: 209. DB::NetException: Timeout: connect timed out: "? выдает ее даже по: SHOW TABLES

Igor
13.12.2016
07:25:06
аээ.. а сервер точно работает?

если telnet my_server 9000 сделать - подключится? а по 8123?

Vladimir
13.12.2016
07:26:02
я б начал с последних сообщений в логах сервера (с log level'ом trace)

Igor
13.12.2016
07:29:26
Для агрегатных функций, кстати, уже сделали.
кстати, для форматов тоже алиасы было бы удобно :-[ "TSV" вместо "TabSeparated", например

Konstantin
13.12.2016
07:34:17
ну как минимум происходит вот так: clickhouse-client —host=my_server ClickHouse client version 1.1.54046. Connecting to my_server:9000. Connected to ClickHouse server version 1.1.54080. :)

Igor
13.12.2016
07:35:53
тогда да, тогда логи. может он до реплик/шардов достучаться не может?

Konstantin
13.12.2016
07:37:14
да у нас только 1 сервер пока)

Alexander
13.12.2016
11:05:52
Пробовал собрать clickhouse на OSX по инструкции. Наткнулся на то что на стадии cmake требуется libiconv.a, пофиксил это (пока только у себя). Но оно всё равно сломалось при сборке на iconv. Ковыряю дальше. Сейчас если не соберется, скину ошибку, ок?

(libiconv.a не собирается в рекомендованной brew кеге, так что пришлось её пропатчить)

Igor
13.12.2016
11:19:02
я тоже ковырял несколько дней

победить не получилось

только если с USE_STATIC_LIBRARIES=0

https://github.com/yandex/ClickHouse/issues/232

TLDR: USE_STATIC_LIBRARIES=0 cmake .. make -j $THREADS и будет счастье. главное потом ничего из зависимостей в homebrew не удалять и не обновлять %))

а, и, возможно, я libiconv с --enable-static собирал при этом. уже не помню :(

Google
Igor
13.12.2016
11:24:23
если чо, стабильная версия 1.1.54074 у меня в макоси вообще без проблем скомпилилась есть скомпиленные бинарники для нескольких версий: https://github.com/excitoon/ClickHouse/releases/download/1.1.54059/clickhouse-client-1.1.54059.tar.gz https://github.com/hatarist/homebrew-clickhouse/releases/download/1.1.54074/clickhouse-1.1.54074.tar.gz но если excitoon еще (вроде бы) сотрудник яндекса, то я уже нет :)

Alexander
13.12.2016
11:31:42
http://pastebin.com/VgAnH9fu

ага, валится всё равно. я могу так-то и в докере запустить. спасибо за ссылки на сборки, хотя бы клиента возьму

Igor
13.12.2016
11:34:20
по второй ссылке если что универсальный бинарник, если сделать симлинк с именем clickhouse-client, то будет вести себя как клиент. или если clickhouse --client запустить

Alexander
13.12.2016
11:42:06
так там еще и brew!

поставил себе нативного клиента, спасибо

Igor
13.12.2016
12:12:52
range() как-то странно себя ведет иногда. я ему подаю аргументом toUInt32(max_value - min_value), а получаю ошибку > A call to function range would produce 413329556 array elements, which is greater than the allowed maximum of 100000000 отследить, какое именно число заставляет его так себя вести, еще не получилось это можно как-нибудь исправить? (версия сервера 1.1.54083)

при этом сделав SELECT max(max_value - min_value), получаю 16777215, оно должно в 24 бита помещаться

papa
13.12.2016
12:18:57
по-моему 100М в данном случае это максимальный разрешенный суммарный размер длин range() по всем строкам.

Igor
13.12.2016
12:21:25
аааа! да, похоже на правду

Андрей Михайлович
13.12.2016
12:25:43
из яндекса кто-то есть в эфире?

papa
13.12.2016
12:40:00
до некоторой степени.

Виктор
13.12.2016
13:05:34
Есть, да.

Alexey
13.12.2016
13:30:04
Тут есть сам Алексей :)

Андрей Михайлович
13.12.2016
13:43:14
У яндекса же есть какая - то поддержка стартапов? https://vc.ru/n/ya-local эти говорят, что есть. Или это ложь и промоакция? вопрос оффтоповый (и я прошу прощения за это), но ваш pr отдел видимо слишком сильно загружен. хз.

nikoinlove
13.12.2016
13:44:43
кто "эти"? в твоей статье ни слова об этом

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