
Evgeny
13.04.2018
16:07:10
вот это запрос

Валерия
13.04.2018
16:16:11
Друзья, кто-нибудь реализовывал на КХ аналог aggregation() over (partition by ...) оракла? Функция runningAccumulate() не спасает :(

prll
13.04.2018
16:17:13

Ivan
13.04.2018
16:18:53
Я бы попробовал поочерёдно изнути наружу избавляться от джоинов и в теории можно будет понять на каком этапе тормозит.
А вообще накой вам такая сложная структура? Сделайте одну огромную таблицу и будет счастье

Google

Vsevolod
13.04.2018
16:20:26
@proller Iä! Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn!

Andrey
13.04.2018
16:31:40
Ребят, а что означает ошибка?
2018.04.13 19:30:11.427727 [ 22 ] <Error> HTTPHandler: Cannot send exception to client: Code: 24, e.displayText() = DB::Exception: Cannot write to ostream, e.what() = DB::Exception, Stack trace:
убрал трейс для читаемости

LeiDruid
13.04.2018
16:32:35
У меня такое когда клиент отвалился, по таймауту, например

Александр
13.04.2018
16:53:54
Которые как временные таблицы используются

Andrey
13.04.2018
16:59:00
Ребят, а можно выдать права доступа только на 1 базу?

Alexey
13.04.2018
17:18:08
Ваш запрос красиво выглядит в клиенте, надеюсь вы писали его не вручную.

Александр
13.04.2018
17:18:40
Будем ждать фикс! :) Надеюсь, что в чейнджлоге появится информация об исправлении!


Alexey
13.04.2018
17:24:28
Это на самом деле маленький запрос. Мы собираем гораздо бОльшие запросы, да такие, что пришлось пилить транспорт через CLI клиент, т.к. использовались временные таблицы из локальных файлов + запрос на столько большой, что в URL не помещается из-за ограничения по длине :(
Но ведь можно отправлять запрос по HTTP POST-ом. Также можно увеличить max_query_size, max_ast_elements, max_ast_depth, max_subqueries_depth,,,

Александр
13.04.2018
17:24:57

Google

Александр
13.04.2018
17:25:50
Мы даже хотели напилить фикс под это дело, что бы при отправке файлов на сервер по HTTP для запроса, можно было постом так же и запрос передать, но у нас спецов в плюсах не нашлось ( Просили знакомого сделать, но он предпочел не тратить на это время :(

Alexey
13.04.2018
17:26:20

Александр
13.04.2018
17:28:09
Действительно, помню о таком.
Просто CLI не позволяет из PHP делать асинхронные запрос. Точнее это можно сделать, но блин...там будут кейсы когда останутся зомби процессы, а возиться с ними не хочется. Асинхронщина по HTTP давала нам не плохую скорость :) Но это не критично. Мы все тешим себя надеждой, либо дождаться официальной фичи, либо найти все таки разработчика на плюсах, который это поправит

Alexey
13.04.2018
17:35:48

Александр
13.04.2018
17:36:15
Надеюсь, что сделает!

Vsevolod
13.04.2018
17:40:04
Энтузиаст, поди, мелочь просил, а вы с ним так жестоко

Kirill
13.04.2018
20:58:43

Andrey
13.04.2018
20:59:30

Kirill
13.04.2018
21:01:11

Константин
13.04.2018
21:04:27
Телеграмм бот «Telegram Proxy (SOCKS5) Bot» в списке сайта Telegram-store.com
https://ru.telegram-store.com/catalog/bots/proxy_socks5_bot/

Konstantin
14.04.2018
09:15:56
Народ, кто нить решал подобную проблему? https://github.com/yandex/ClickHouse/issues/2070

mephistopheies
14.04.2018
09:36:01
господа, нужно мне было сделать cumsum внутри групп, поискал я тут в группе и нашел только такое t.me/clickhouse_ru/2430
по аналогии сделал для своих данных https://gist.github.com/mephistopheies/971769aec94162da9314d86e3cc9bf45
имхо это какой то изврат дичайший, сообщение то на которое я ориентировался слегка старое, может с тех пор появился какой то более кошерный способ считать камсум?
upd: ессесно такой изврат вышел за пределы памяти -)

prll
14.04.2018
09:46:33

Konstantin
14.04.2018
09:54:26

prll
14.04.2018
09:59:17
да

Slava
14.04.2018
17:32:29
парни, привет. поделитесь как можно максимально быстро заджоинить справочник к distibuted таблице, либо нужно эту таблицу-справочник подключать как-то по другому. Ситуация следующая, есть 2 ноды, distributed таблица c ключом rand(), на первой ноде есть справочник, с которым пытаюсь заджоиниться, естественно получается медленно, тк, данным из второй ноды нужно джоиниться с этим справочником по сети

papa
14.04.2018
17:36:50
а может его на обоих нодах держать?

Slava
14.04.2018
18:43:25

antuan
14.04.2018
19:17:21
мне недавно подсказали про global join, может, вам тоже подойдет?

Google

antuan
14.04.2018
19:18:36
https://clickhouse.yandex/docs/ru/query_language/queries/#join
При использовании GLOBAL ... JOIN-а, сначала, на сервере-инициаторе запроса, выполняется подзапрос для вычисления "правой" таблицы, и затем эта временная таблица передаётся на каждый удалённый сервер, и на них выполняются запросы, с использованием этих переданных временных данных.
Следует быть аккуратным при использовании GLOBAL JOIN-ов. Подробнее читайте в разделе "Распределённые подзапросы" ниже.

Konstantin
14.04.2018
20:01:56
да
Положил ссылку на скрипт в изис https://github.com/yandex/ClickHouse/issues/2070. КХ падает даже без сообщений в топике Кафки. Как только вьюха подключается … сервер КХ умирает.

Slava
14.04.2018
20:15:13
Спасибо

Alexey
14.04.2018
21:47:50

Slava
14.04.2018
21:48:54

Sergei
15.04.2018
17:58:49
Добрый вечер! Подскажите плиз что с этим можно сделать:
<Warning> ConnectionPoolWithFailover: Connection failed at try №1, reason: Code: 209, e.displayText() = DB::NetException: Timeout exceeded while reading from socket (...), e.what() = DB::NetException

prll
15.04.2018
20:25:25
а с сетью все норм?

Kirill
15.04.2018
21:09:46
Интересно чем это начинание закончится? ? https://github.com/yandex/ClickHouse/issues/2218

Slach
16.04.2018
04:10:59

Konstantin
16.04.2018
04:42:20
смотрел, судя по тексту
> For the tools of interaction with ClickHouse are very bad and full of bug (like Tabix).

Sergei
16.04.2018
05:20:02
а с сетью все норм?
Да, все норм. 3 реплики, запрос простой ~3/10 раз подвисает с такой на несколько секунд.
Все реплики рядышком физически

Wolf
16.04.2018
05:23:14
Посмотрите логи кх, посмотрите логи syslog посмотрите dmesg
Ощущение что не хватает файлов или сокетов или соединений в фаерволе

Aleksandr
16.04.2018
06:58:18
Приветствую. Подскажите пожалуйста, обновояю сейчас версию clickhouse и смотрю что раньше использовался метод сжатия данных lz4 а сейчас zstd , вопрос в следующим что бы перейти на новый вид сжатия достаточно указать просто новый метод или же нужно как то переливать данные? Спасибо.

Kirill
16.04.2018
07:01:12

Aleksandr
16.04.2018
07:01:41
т.е. достаточно просто в конфиг файле изменить метод сжатия и все?

Kirill
16.04.2018
07:02:38

Aleksandr
16.04.2018
07:04:56
спасибо, для экономии места ?

Google

Aleksandr
16.04.2018
07:05:37
а с zstd просядет скорость выборки?

Kirill
16.04.2018
07:06:08
Для сжатых данных конечно просядет
Но, у КХ еще есть кэш расжатых блоков, если он у вас неплохо справляется то сильно оно вас не зацепит

Aleksandr
16.04.2018
07:08:23
просто нашел сравнение lz4 и zstd сжатия и вижу что zstd в плане выборки медленее, я так понимаю за счет того что данные больше сжаты
оставлю я наверное lz4 тогда ?
но спасибо за информацию

Sergei
16.04.2018
07:20:21

Aleksandr
16.04.2018
07:56:34
Подскажите пожалуйста такой момент, можно ли как то делать подзапрос с другой таблицы?
в mysql можно сделать что то типа такого:
select
t1.id,
(select count table2 where event_date = t1.event_date and field2 = t1.field2) as cnt
from
table1 as t1
where
t1.event_date = curdate() and
field2 = 5
смотрел что можно через any left join но там идет сравнение по 1 полю, а нужно по двум

Артемий
16.04.2018
07:58:20

Aleksandr
16.04.2018
07:58:35
о, спасибо, сейчас попробую
а если название полей разное то уже никак?
в t1 - event_date в t2 - date поля

papa
16.04.2018
08:01:40

Igor
16.04.2018
08:19:13

Andrew
16.04.2018
08:31:00
А это не тот же чувак который metabase драйвер последним обещался разработать?

Igor
16.04.2018
08:35:31
Вроде он же

Victor
16.04.2018
08:44:27
подскажите пожалуйста, как правильно посчитать количество уникальных кортежей параметров
есть таблица вида
create table hits(url String,params Nested (Name String,Value String))
хочется отфильтровать часть параметров по params.Name
1.arrayFilter(x -> x not in ('bad name1','bad name2'),params.Name)
2.из результата сделать тупл my_tuple
3.посчитать количество уникальных туплов на каждый url
select my_tuple,url,count
from hits group by my_tuple,url
group by my_tuple,url

papa
16.04.2018
08:50:19
uniqArray(arrayFilter((n, v) -> 1, p.Name, p.Value), arrayFilter((v, n) -> 1, p.Value, p.Name)) group by url
где вместо 1 фильтр по имени или значению.

Google

Victor
16.04.2018
09:11:06

papa
16.04.2018
09:16:07
ну вы посмотрите, вдруг подойдет.
хотя.. а вы в данном случае что считаете кортежом? пару name-value?

M
16.04.2018
09:26:51
Добрый день, поднял старые бекапы. Но выборки перестали работать. Запрос падает с DB::Exception: Size of filter doesn't match size of column.
Версия 1.1.54370.
Подскажите, что можно сделать? Кастование полей к их типу поможет?
Думается мне что в той партиции были альтеры по ресайзу колонки в большую сторону.. но точно сказать не могу

Victor
16.04.2018
09:27:57

Ilia
16.04.2018
10:04:51

papa
16.04.2018
10:06:34

M
16.04.2018
10:06:49

Ilia
16.04.2018
10:07:44
У меня кстати тоже с 70ой проявилось

Andrey
16.04.2018
10:22:11
Коллеги, привет!
Подскажите, пожалуйста, есть ли где -то сравнение кликхауса с BigQuery?

Alexey
16.04.2018
10:39:40
https://clickhouse.yandex/presentations/uwdc/#29